Class FileContents

java.lang.Object
com.puppycrawl.tools.checkstyle.api.FileContents
All Implemented Interfaces:
CommentListener

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

    • FileContents

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

    • getText

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

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

      public 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 String getFileName()
      Gets the name of the file.
      Returns:
      the name of the file
    • reportSingleLineComment

      public void reportSingleLineComment(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(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
    • reportBlockComment

      public void reportBlockComment(int startLineNo, int startColNo, int endLineNo, int endColNo)
      Report the location of a block comment.
      Parameters:
      startLineNo - the starting line number
      startColNo - the starting column number
      endLineNo - the ending line number
      endColNo - the ending column number
    • 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
    • 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.
    • getSingleLineComments

      public Map<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
    • getBlockComments

      public Map<Integer,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
    • inPackageInfo

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