Package org.h2.util

Class 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 Description
      ScriptReader​(java.io.Reader reader)
      Create a new SQL script reader from the given reader
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • 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