Package org.jvnet.hk2.generator.internal
Class Utilities
- java.lang.Object
-
- org.jvnet.hk2.generator.internal.Utilities
-
public class Utilities extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classUtilities.ContractClassVisitorprivate static classUtilities.ContractMethodVisitorprivate static classUtilities.GenerateServiceFromMethodVisitorprivate classUtilities.GeneratorClassVisitorprivate static classUtilities.GeneratorNameFinderMethodVisitorprivate static classUtilities.KnownClassDataprivate static classUtilities.MetadataAnnotationVisitor
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringCONFIGURED_CONTRACTprivate static java.lang.StringCONTRACT_WITH_SLASHESprivate static java.lang.StringDOT_CLASSprivate java.util.Map<java.lang.String,GenerateMethodAnnotationData>FOUND_GENERATORSprivate java.util.Map<java.lang.String,java.util.Set<java.lang.String>>FOUND_INTERFACESprivate java.util.Map<java.lang.String,java.lang.String>FOUND_SUPERCLASSprivate static java.lang.StringGENERATOR_IMPL_NAMEprivate static java.lang.StringGENERATOR_NAME_FIELD_WITH_SLASHESprivate static java.lang.StringGENERATOR_SCOPE_NAMEprivate java.util.Map<java.lang.String,java.lang.Boolean>ISA_CONTRACTprivate java.util.Map<java.lang.String,java.lang.Boolean>ISA_QUALIFIERprivate java.util.Map<java.lang.String,java.lang.Boolean>ISA_SCOPEprivate static java.util.List<Utilities.KnownClassData>KNOWN_DATAprivate static java.lang.StringLIST_WITH_PTYPEprivate java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>METADATAprivate static java.lang.StringMETADATA_DESCprivate static java.lang.StringMETHOD_GENERATOR_WITH_SLASHESprivate java.util.Map<java.io.File,java.util.jar.JarFile>openedJarFilesprivate static java.lang.StringQUALIFIER_WITH_SLASHESprivate static java.lang.StringSCOPE_WITH_SLASHESprivate java.util.List<java.io.File>searchPathprivate booleanverbose
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddSubInterface(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedInterface, java.util.LinkedHashSet<java.lang.String> retVal)voidclose()java.util.List<DescriptorImpl>createDescriptorIfService(java.io.InputStream is, java.util.List<java.io.File> searchHeres)java.util.List<DescriptorImpl>findAllServicesFromDirectory(java.io.File directory, java.util.List<java.io.File> parent)private java.io.InputStreamfindClass(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName, boolean searchClassPath, java.lang.String calledFrom)Will look for a file on a last-ditch sort of effort using the searchHere thing (jar or directory) and then also in the classpathjava.util.Set<java.lang.String>getAssociatedContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Gets the contracts associated with the name passed inprivate voidgetAssociatedSuperclassContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName, java.util.Set<java.lang.String> addToMe)private static java.util.List<java.io.File>getFilesFromSearchPath(java.lang.String searchPath)(package private) static java.lang.StringgetFirstParameterType(java.lang.String desc)(package private) static java.lang.StringgetListActualType(java.lang.String signature)java.lang.StringgetMetadataKey(java.lang.String scopeOrQualifier, java.lang.String methodName)private java.lang.StringgetSuperclass(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if the given class is a contractprivate booleanisClassAContract(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if the given class is a contractGenerateMethodAnnotationDataisClassAGenerator(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if it can be determined that this class is a generatorbooleanisClassAQualifier(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if it can be determined that this class is a qualifierbooleanisClassAScope(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if it can be determined that this class is a scopeprivate voidnullCaches(java.lang.String dotDelimitedName)
-
-
-
Field Detail
-
DOT_CLASS
private static final java.lang.String DOT_CLASS
- See Also:
- Constant Field Values
-
CONTRACT_WITH_SLASHES
private static final java.lang.String CONTRACT_WITH_SLASHES
-
SCOPE_WITH_SLASHES
private static final java.lang.String SCOPE_WITH_SLASHES
-
QUALIFIER_WITH_SLASHES
private static final java.lang.String QUALIFIER_WITH_SLASHES
-
METHOD_GENERATOR_WITH_SLASHES
private static final java.lang.String METHOD_GENERATOR_WITH_SLASHES
- See Also:
- Constant Field Values
-
GENERATOR_NAME_FIELD_WITH_SLASHES
private static final java.lang.String GENERATOR_NAME_FIELD_WITH_SLASHES
- See Also:
- Constant Field Values
-
METADATA_DESC
private static final java.lang.String METADATA_DESC
- See Also:
- Constant Field Values
-
ISA_CONTRACT
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_CONTRACT
-
ISA_SCOPE
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_SCOPE
-
ISA_QUALIFIER
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_QUALIFIER
-
FOUND_SUPERCLASS
private final java.util.Map<java.lang.String,java.lang.String> FOUND_SUPERCLASS
-
FOUND_INTERFACES
private final java.util.Map<java.lang.String,java.util.Set<java.lang.String>> FOUND_INTERFACES
-
FOUND_GENERATORS
private final java.util.Map<java.lang.String,GenerateMethodAnnotationData> FOUND_GENERATORS
-
METADATA
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> METADATA
-
verbose
private final boolean verbose
-
searchPath
private final java.util.List<java.io.File> searchPath
-
openedJarFiles
private final java.util.Map<java.io.File,java.util.jar.JarFile> openedJarFiles
-
CONFIGURED_CONTRACT
private static final java.lang.String CONFIGURED_CONTRACT
- See Also:
- Constant Field Values
-
KNOWN_DATA
private static final java.util.List<Utilities.KnownClassData> KNOWN_DATA
-
GENERATOR_IMPL_NAME
private static final java.lang.String GENERATOR_IMPL_NAME
- See Also:
- Constant Field Values
-
GENERATOR_SCOPE_NAME
private static final java.lang.String GENERATOR_SCOPE_NAME
- See Also:
- Constant Field Values
-
LIST_WITH_PTYPE
private static final java.lang.String LIST_WITH_PTYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getFilesFromSearchPath
private static java.util.List<java.io.File> getFilesFromSearchPath(java.lang.String searchPath)
-
findClass
private java.io.InputStream findClass(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName, boolean searchClassPath, java.lang.String calledFrom) throws java.io.IOExceptionWill look for a file on a last-ditch sort of effort using the searchHere thing (jar or directory) and then also in the classpath- Parameters:
searchHere-dotDelimitedName-searchClassPath- true if the classpath should be searched as well- Returns:
- an IOStream if the file could be located
- Throws:
java.io.IOException
-
nullCaches
private void nullCaches(java.lang.String dotDelimitedName)
-
isClassAContract
private boolean isClassAContract(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if the given class is a contract- Parameters:
searchHere- The file or jar to look indotDelimitedName- The fully qualified class name to look for- Returns:
- true if this can determine that this is a contract
-
getSuperclass
private java.lang.String getSuperclass(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if the given class is a contract- Parameters:
searchHere- The file or jar to look indotDelimitedName- The fully qualified class name to look for- Returns:
- The dot-delimited superclass name or null if this is terminal (is an interface or extends java.lang.Object)
-
isClassAScope
public boolean isClassAScope(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if it can be determined that this class is a scope- Parameters:
searchHere-dotDelimitedName-- Returns:
- true if this class is a scope
-
isClassAQualifier
public boolean isClassAQualifier(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Returns true if it can be determined that this class is a qualifier- Parameters:
searchHere-dotDelimitedName-- Returns:
- true if this class is a qualifier
-
isClassAGenerator
public GenerateMethodAnnotationData isClassAGenerator(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
Returns true if it can be determined that this class is a generator- Parameters:
searchHere-dotDelimitedName-- Returns:
- true if this class is a qualifier
-
getAssociatedSuperclassContracts
private void getAssociatedSuperclassContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName, java.util.Set<java.lang.String> addToMe)
-
getAssociatedContracts
public java.util.Set<java.lang.String> getAssociatedContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)Gets the contracts associated with the name passed in- Parameters:
searchHere-dotDelimitedName-- Returns:
- The set of contracts associated with this dotDelimited name (ordered iterator)
-
addSubInterface
private void addSubInterface(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedInterface, java.util.LinkedHashSet<java.lang.String> retVal)
-
getMetadataKey
public java.lang.String getMetadataKey(java.lang.String scopeOrQualifier, java.lang.String methodName)
-
getListActualType
static java.lang.String getListActualType(java.lang.String signature)
-
getFirstParameterType
static java.lang.String getFirstParameterType(java.lang.String desc)
-
createDescriptorIfService
public java.util.List<DescriptorImpl> createDescriptorIfService(java.io.InputStream is, java.util.List<java.io.File> searchHeres) throws java.io.IOException
- Throws:
java.io.IOException
-
findAllServicesFromDirectory
public java.util.List<DescriptorImpl> findAllServicesFromDirectory(java.io.File directory, java.util.List<java.io.File> parent) throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close()
-
-