Package org.vafer.jdependency
Class Clazz
- java.lang.Object
-
- org.vafer.jdependency.Clazz
-
- All Implemented Interfaces:
java.lang.Comparable<Clazz>
public final class Clazz extends java.lang.Object implements java.lang.Comparable<Clazz>
A `Clazz` represents the single class identifier inside a classpath. There is only one `Clazz` per classname. It has incoming and outgoing edges defining references and dependencies. If there are different versions found, it collects their sources as ClazzpathUnits.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classClazz.ClazzFilestatic classClazz.ParsedFileName
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,Clazz.ClazzFile>classFilenamesprivate java.util.Set<Clazz>dependenciesprivate static java.util.regex.PatternEXTRACT_MULTI_RELEASE_JAVA_VERSIONprivate java.lang.Stringnameprivate java.util.Set<Clazz>referencesprivate java.util.Map<ClazzpathUnit,java.lang.String>units
-
Constructor Summary
Constructors Constructor Description Clazz(java.lang.String pName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClazzpathUnit(ClazzpathUnit pUnit, java.lang.String pDigest)voidaddDependency(Clazz pClazz)voidaddMultiReleaseFile(ClazzpathUnit pUnit, java.lang.String pForJava, java.lang.String pFileName)Record that this class name can be found at:intcompareTo(Clazz pO)booleanequals(java.lang.Object pO)(package private) voidfindTransitiveDependencies(java.util.Set<? super Clazz> pAll)java.util.Set<ClazzpathUnit>getClazzpathUnits()java.util.Set<Clazz>getDependencies()java.util.Map<java.lang.String,Clazz.ClazzFile>getFileNames()java.lang.StringgetName()java.util.Set<Clazz>getReferences()java.util.Set<Clazz>getTransitiveDependencies()java.util.Set<java.lang.String>getVersions()inthashCode()static booleanisMultiReleaseClassFile(java.lang.String pFileName)Determine if the provided filename is the name of a class that is specific for a java version.static Clazz.ParsedFileNameparseClassFileName(java.lang.String pFileName)Determine the class name for the provided filename.voidremoveClazzpathUnit(ClazzpathUnit pUnit)voidremoveDependency(Clazz pClazz)java.lang.StringtoString()
-
-
-
Field Detail
-
dependencies
private final java.util.Set<Clazz> dependencies
-
references
private final java.util.Set<Clazz> references
-
units
private final java.util.Map<ClazzpathUnit,java.lang.String> units
-
classFilenames
private final java.util.Map<java.lang.String,Clazz.ClazzFile> classFilenames
-
name
private final java.lang.String name
-
EXTRACT_MULTI_RELEASE_JAVA_VERSION
private static final java.util.regex.Pattern EXTRACT_MULTI_RELEASE_JAVA_VERSION
-
-
Method Detail
-
parseClassFileName
public static Clazz.ParsedFileName parseClassFileName(java.lang.String pFileName)
Determine the class name for the provided filename.- Parameters:
pFileName- The filename- Returns:
- the class name for the provided filename OR null if it is not a .class file.
-
isMultiReleaseClassFile
public static boolean isMultiReleaseClassFile(java.lang.String pFileName)
Determine if the provided filename is the name of a class that is specific for a java version.- Parameters:
pFileName- The filename to be evaluated- Returns:
- true if this is a filename for a specific java version, false if it is not
-
addMultiReleaseFile
public void addMultiReleaseFile(ClazzpathUnit pUnit, java.lang.String pForJava, java.lang.String pFileName)
Record that this class name can be found at:- Parameters:
pUnit- The unit in which the class can be foundpForJava- For which Java versionpFileName- Under which filename in the jar.
-
getName
public java.lang.String getName()
-
getFileNames
public java.util.Map<java.lang.String,Clazz.ClazzFile> getFileNames()
-
addClazzpathUnit
public void addClazzpathUnit(ClazzpathUnit pUnit, java.lang.String pDigest)
-
removeClazzpathUnit
public void removeClazzpathUnit(ClazzpathUnit pUnit)
-
getClazzpathUnits
public java.util.Set<ClazzpathUnit> getClazzpathUnits()
-
getVersions
public java.util.Set<java.lang.String> getVersions()
-
addDependency
public void addDependency(Clazz pClazz)
-
removeDependency
public void removeDependency(Clazz pClazz)
-
getDependencies
public java.util.Set<Clazz> getDependencies()
-
getReferences
public java.util.Set<Clazz> getReferences()
-
getTransitiveDependencies
public java.util.Set<Clazz> getTransitiveDependencies()
-
findTransitiveDependencies
void findTransitiveDependencies(java.util.Set<? super Clazz> pAll)
-
equals
public boolean equals(java.lang.Object pO)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareTo
public int compareTo(Clazz pO)
- Specified by:
compareToin interfacejava.lang.Comparable<Clazz>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-