Class FileContents
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.FileContents
-
- All Implemented Interfaces:
CommentListener
public final class FileContents extends java.lang.Object implements CommentListener
Represents the contents of a file.
-
-
Constructor Summary
Constructors Constructor Description FileContents(FileText text)
Creates a newFileContents
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.Integer,java.util.List<TextBlock>>
getBlockComments()
Returns a map of all block comments.java.lang.String
getFileName()
Gets the name of the file.TextBlock
getJavadocBefore(int lineNoBefore)
Returns the Javadoc comment before the specified line.java.lang.String
getLine(int index)
Get the line from text of the file.java.lang.String[]
getLines()
Gets the lines in the file.java.util.Map<java.lang.Integer,TextBlock>
getSingleLineComments()
Returns a map of all the single line comments.FileText
getText()
Get the full text of the file.boolean
hasIntersectionWithComment(int startLineNo, int startColNo, int endLineNo, int endColNo)
Checks if the specified position intersects with a comment.boolean
inPackageInfo()
Checks if the current file is a package-info.java file.boolean
lineIsBlank(int lineNo)
Checks if the specified line is blank.boolean
lineIsComment(int lineNo)
Checks if the specified line is a single-line comment without code.void
reportBlockComment(int startLineNo, int startColNo, int endLineNo, int endColNo)
Report the location of a block comment.void
reportBlockComment(java.lang.String type, int startLineNo, int startColNo, int endLineNo, int endColNo)
Report the location of a block comment that can span multiple lines.void
reportSingleLineComment(int startLineNo, int startColNo)
Report the location of a single line comment.void
reportSingleLineComment(java.lang.String type, int startLineNo, int startColNo)
Report the location of a single line comment that extends from the given point to the end of the line.
-
-
-
Constructor Detail
-
FileContents
public FileContents(FileText text)
Creates a newFileContents
instance.- Parameters:
text
- the contents of the file
-
-
Method Detail
-
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
-
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 interfaceCommentListener
- Parameters:
type
- an identifier for what type of comment it is.startLineNo
- the starting line numberstartColNo
- 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 numberstartColNo
- 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 interfaceCommentListener
- Parameters:
type
- an identifier for what type of comment it is.startLineNo
- the starting line numberstartColNo
- the starting column numberendLineNo
- the ending line numberendColNo
- 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 numberstartColNo
- the starting column numberendLineNo
- the ending line numberendColNo
- the ending column number
-
getJavadocBefore
public TextBlock getJavadocBefore(int lineNoBefore)
Returns the Javadoc comment before the specified line. A return value ofnull
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 numberstartColNo
- the starting column numberendLineNo
- the ending line numberendColNo
- the ending column number- Returns:
- true if the positions intersects with a comment.
-
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 commentTextBlock
at the 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 aList
of block commentTextBlock
s 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.
-
-