Class AbstractClassCouplingCheck.FileContext
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.checks.metrics.AbstractClassCouplingCheck.FileContext
-
- Enclosing class:
- AbstractClassCouplingCheck
private class AbstractClassCouplingCheck.FileContext extends java.lang.Object
Encapsulates information about classes coupling inside single file.
-
-
Field Summary
Fields Modifier and Type Field Description private AbstractClassCouplingCheck.ClassContext
classContext
Current context.private java.util.Deque<AbstractClassCouplingCheck.ClassContext>
classesContexts
Stack of class contexts.private java.util.Map<java.lang.String,java.lang.String>
importedClassPackage
A map of (imported class name -> class name with package) pairs.private java.lang.String
packageName
Current file package.
-
Constructor Summary
Constructors Modifier Constructor Description private
FileContext()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkCurrentClassAndRestorePrevious()
Restores previous context.void
createNewClassContext(java.lang.String className, int lineNo, int columnNo)
Creates new inner class context with given name and location.java.util.Optional<java.lang.String>
getClassNameWithPackage(java.lang.String className)
Retrieves class name with packages.java.lang.String
getPackageName()
Retrieves current file package name.void
registerImport(DetailAST imp)
Registers given import.void
setPackageName(java.lang.String packageName)
Sets current context package name.void
visitLiteralNew(DetailAST ast)
Visits NEW token for the current class context.void
visitLiteralThrows(DetailAST ast)
Visits THROWS token for the current class context.void
visitType(DetailAST ast)
Visits type token for the current class context.
-
-
-
Field Detail
-
importedClassPackage
private final java.util.Map<java.lang.String,java.lang.String> importedClassPackage
A map of (imported class name -> class name with package) pairs.
-
classesContexts
private final java.util.Deque<AbstractClassCouplingCheck.ClassContext> classesContexts
Stack of class contexts.
-
packageName
private java.lang.String packageName
Current file package.
-
classContext
private AbstractClassCouplingCheck.ClassContext classContext
Current context.
-
-
Method Detail
-
getPackageName
public java.lang.String getPackageName()
Retrieves current file package name.- Returns:
- Package name.
-
setPackageName
public void setPackageName(java.lang.String packageName)
Sets current context package name.- Parameters:
packageName
- Package name to be set.
-
registerImport
public void registerImport(DetailAST imp)
Registers given import. This allows us to track imported classes.- Parameters:
imp
- import definition.
-
getClassNameWithPackage
public java.util.Optional<java.lang.String> getClassNameWithPackage(java.lang.String className)
Retrieves class name with packages. Uses previously registered imports to get the full class name.- Parameters:
className
- Class name to be retrieved.- Returns:
- Class name with package name, if found,
Optional.empty()
otherwise.
-
createNewClassContext
public void createNewClassContext(java.lang.String className, int lineNo, int columnNo)
Creates new inner class context with given name and location.- Parameters:
className
- The class name.lineNo
- The class line number.columnNo
- The class column number.
-
checkCurrentClassAndRestorePrevious
public void checkCurrentClassAndRestorePrevious()
Restores previous context.
-
visitType
public void visitType(DetailAST ast)
Visits type token for the current class context.- Parameters:
ast
- TYPE token.
-
visitLiteralNew
public void visitLiteralNew(DetailAST ast)
Visits NEW token for the current class context.- Parameters:
ast
- NEW token.
-
visitLiteralThrows
public void visitLiteralThrows(DetailAST ast)
Visits THROWS token for the current class context.- Parameters:
ast
- THROWS token.
-
-