org.h2.util

## Class ScriptReader

- java.lang.Object
- - org.h2.util.ScriptReader

All Implemented Interfaces:
  java.io.Closeable, java.lang.AutoCloseable

    public class ScriptReader
    extends java.lang.Object
    implements java.io.Closeable

This class can split SQL scripts to single SQL statements. Each SQL statement ends with the character ';', however it is ignored in comments and quotes.

### Constructor Summary

Constructors
Constructor and Description
`ScriptReader(java.io.Reader reader)` Create a new SQL script reader from the given reader

### Method Summary

Methods
`void` `close()` Close the underlying reader.
`boolean` `isBlockRemark()` If currently inside a remark, this method tells if it is a block comment (true) or single line comment (false)
`boolean` `isInsideRemark()` Check if this is the last statement, and if the single line or block comment is not finished yet.
`java.lang.String` `readStatement()` Read a statement from the reader.
`void` `setSkipRemarks(boolean skipRemarks)` If comments should be skipped completely by this reader.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ScriptReader

    public ScriptReader(java.io.Reader reader)

Create a new SQL script reader from the given reader

Parameters:
  `reader` - the reader

### Method Detail

#### close

    public void close()

Close the underlying reader.

Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`

#### readStatement

    public java.lang.String readStatement()

Read a statement from the reader. This method returns null if the end has been reached.

Returns:
  the SQL statement or null

#### isInsideRemark

    public boolean isInsideRemark()

Check if this is the last statement, and if the single line or block comment is not finished yet.

Returns:
  true if the current position is inside a remark

#### isBlockRemark

    public boolean isBlockRemark()

If currently inside a remark, this method tells if it is a block comment (true) or single line comment (false)

Returns:
  true if inside a block comment

#### setSkipRemarks

    public void setSkipRemarks(boolean skipRemarks)

If comments should be skipped completely by this reader.

Parameters:
  `skipRemarks` - true if comments should be skipped