Class FileContents

  • All Implemented Interfaces:
    CommentListener

    public final class FileContents
    extends java.lang.Object
    implements CommentListener
    Represents the contents of a file.
    • Constructor Detail

      • FileContents

        @Deprecated
        public FileContents​(java.lang.String filename,
                            java.lang.String... lines)
        Deprecated.
        Use FileContents(FileText) instead in order to preserve the original line breaks where possible.
        Creates a new FileContents instance.
        Parameters:
        filename - name of the file
        lines - the contents of the file
      • FileContents

        public FileContents​(FileText text)
        Creates a new FileContents instance.
        Parameters:
        text - the contents of the file
    • Method Detail

      • reportSingleLineComment

        public void reportSingleLineComment​(java.lang.String type,
                                            int startLineNo,
                                            int startColNo)
        Description copied from interface: CommentListener
        Report the location of a single line comment that extends from the given point to the end of the line. The type of comment is identified by a String whose value depends on the language being parsed, but would typically be the delimiter for the comment.
        Specified by:
        reportSingleLineComment in interface CommentListener
        Parameters:
        type - an identifier for what type of comment it is.
        startLineNo - the starting line number
        startColNo - the starting column number
      • reportSingleLineComment

        public void reportSingleLineComment​(int startLineNo,
                                            int startColNo)
        Report the location of a single line comment.
        Parameters:
        startLineNo - the starting line number
        startColNo - the starting column number
      • reportBlockComment

        public void reportBlockComment​(java.lang.String type,
                                       int startLineNo,
                                       int startColNo,
                                       int endLineNo,
                                       int endColNo)
        Description copied from interface: CommentListener
        Report the location of a block comment that can span multiple lines. The type of comment is identified by a String whose value depends on the language being parsed, but would typically be the delimiter for the comment.
        Specified by:
        reportBlockComment in interface CommentListener
        Parameters:
        type - an identifier for what type of comment it is.
        startLineNo - the starting line number
        startColNo - the starting column number
        endLineNo - the ending line number
        endColNo - the ending column number
      • reportCppComment

        @Deprecated
        public void reportCppComment​(int startLineNo,
                                     int startColNo)
        Deprecated.
        Report the location of a C++ style comment.
        Parameters:
        startLineNo - the starting line number
        startColNo - the starting column number
      • getCppComments

        @Deprecated
        public java.util.Map<java.lang.Integer,​TextBlock> getCppComments()
        Deprecated.
        Returns a map of all the C++ style comments. The key is a line number, the value is the comment TextBlock at the line.
        Returns:
        the Map of comments
      • getSingleLineComments

        public java.util.Map<java.lang.Integer,​TextBlock> getSingleLineComments()
        Returns a map of all the single line comments. The key is a line number, the value is the comment TextBlock at the line.
        Returns:
        the Map of comments
      • reportCComment

        @Deprecated
        public void reportCComment​(int startLineNo,
                                   int startColNo,
                                   int endLineNo,
                                   int endColNo)
        Deprecated.
        Report the location of a C-style comment.
        Parameters:
        startLineNo - the starting line number
        startColNo - the starting column number
        endLineNo - the ending line number
        endColNo - the ending column number
      • getCComments

        @Deprecated
        public java.util.Map<java.lang.Integer,​java.util.List<TextBlock>> getCComments()
        Deprecated.
        Use getBlockComments() instead.
        Returns a map of all C style comments. The key is the line number, the value is a List of C style comment TextBlocks that start at that line.
        Returns:
        the map of comments
      • getBlockComments

        public java.util.Map<java.lang.Integer,​java.util.List<TextBlock>> getBlockComments()
        Returns a map of all block comments. The key is the line number, the value is a List of block comment TextBlocks that start at that line.
        Returns:
        the map of comments
      • getJavadocBefore

        public TextBlock getJavadocBefore​(int lineNoBefore)
        Returns the Javadoc comment before the specified line. A return value of null means there is no such comment.
        Parameters:
        lineNoBefore - the line number to check before
        Returns:
        the Javadoc comment, or null if none
      • getText

        public FileText getText()
        Get the full text of the file.
        Returns:
        an object containing the full text of the file
      • getLines

        public java.lang.String[] getLines()
        Gets the lines in the file.
        Returns:
        the lines in the file
      • getLine

        public java.lang.String getLine​(int index)
        Get the line from text of the file.
        Parameters:
        index - index of the line
        Returns:
        line from text of the file
      • getFileName

        public java.lang.String getFileName()
        Gets the name of the file.
        Returns:
        the name of the file
      • lineIsBlank

        public boolean lineIsBlank​(int lineNo)
        Checks if the specified line is blank.
        Parameters:
        lineNo - the line number to check
        Returns:
        if the specified line consists only of tabs and spaces.
      • lineIsComment

        public boolean lineIsComment​(int lineNo)
        Checks if the specified line is a single-line comment without code.
        Parameters:
        lineNo - the line number to check
        Returns:
        if the specified line consists of only a single line comment without code.
      • hasIntersectionWithComment

        public boolean hasIntersectionWithComment​(int startLineNo,
                                                  int startColNo,
                                                  int endLineNo,
                                                  int endColNo)
        Checks if the specified position intersects with a comment.
        Parameters:
        startLineNo - the starting line number
        startColNo - the starting column number
        endLineNo - the ending line number
        endColNo - the ending column number
        Returns:
        true if the positions intersects with a comment.
      • inPackageInfo

        public boolean inPackageInfo()
        Checks if the current file is a package-info.java file.
        Returns:
        true if the package file.