public class Utilities
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
Utilities.ContractClassVisitor |
private static class |
Utilities.ContractMethodVisitor |
private static class |
Utilities.GenerateServiceFromMethodVisitor |
private class |
Utilities.GeneratorClassVisitor |
private static class |
Utilities.GeneratorNameFinderMethodVisitor |
private static class |
Utilities.KnownClassData |
private static class |
Utilities.MetadataAnnotationVisitor |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
CONFIGURED_CONTRACT |
private static java.lang.String |
CONTRACT_WITH_SLASHES |
private static java.lang.String |
DOT_CLASS |
private java.util.Map<java.lang.String,GenerateMethodAnnotationData> |
FOUND_GENERATORS |
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> |
FOUND_INTERFACES |
private java.util.Map<java.lang.String,java.lang.String> |
FOUND_SUPERCLASS |
private static java.lang.String |
GENERATOR_IMPL_NAME |
private static java.lang.String |
GENERATOR_NAME_FIELD_WITH_SLASHES |
private static java.lang.String |
GENERATOR_SCOPE_NAME |
private java.util.Map<java.lang.String,java.lang.Boolean> |
ISA_CONTRACT |
private java.util.Map<java.lang.String,java.lang.Boolean> |
ISA_QUALIFIER |
private java.util.Map<java.lang.String,java.lang.Boolean> |
ISA_SCOPE |
private static java.util.List<Utilities.KnownClassData> |
KNOWN_DATA |
private static java.lang.String |
LIST_WITH_PTYPE |
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
METADATA |
private static java.lang.String |
METADATA_DESC |
private static java.lang.String |
METHOD_GENERATOR_WITH_SLASHES |
private java.util.Map<java.io.File,java.util.jar.JarFile> |
openedJarFiles |
private static java.lang.String |
QUALIFIER_WITH_SLASHES |
private static java.lang.String |
SCOPE_WITH_SLASHES |
private java.util.List<java.io.File> |
searchPath |
private boolean |
verbose |
Constructor and Description |
---|
Utilities(boolean verbose,
java.util.List<java.io.File> searchPath) |
Utilities(boolean verbose,
java.lang.String searchPath) |
Modifier and Type | Method and Description |
---|---|
private void |
addSubInterface(java.util.List<java.io.File> searchHeres,
java.lang.String dotDelimitedInterface,
java.util.LinkedHashSet<java.lang.String> retVal) |
void |
close() |
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.InputStream |
findClass(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 classpath
|
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
|
private void |
getAssociatedSuperclassContracts(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.String |
getFirstParameterType(java.lang.String desc) |
(package private) static java.lang.String |
getListActualType(java.lang.String signature) |
java.lang.String |
getMetadataKey(java.lang.String scopeOrQualifier,
java.lang.String methodName) |
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
|
private boolean |
isClassAContract(java.util.List<java.io.File> searchHeres,
java.lang.String dotDelimitedName)
Returns true if the given class is a contract
|
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
|
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
|
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
|
private void |
nullCaches(java.lang.String dotDelimitedName) |
private static final java.lang.String DOT_CLASS
private static final java.lang.String CONTRACT_WITH_SLASHES
private static final java.lang.String SCOPE_WITH_SLASHES
private static final java.lang.String QUALIFIER_WITH_SLASHES
private static final java.lang.String METHOD_GENERATOR_WITH_SLASHES
private static final java.lang.String GENERATOR_NAME_FIELD_WITH_SLASHES
private static final java.lang.String METADATA_DESC
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_CONTRACT
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_SCOPE
private final java.util.Map<java.lang.String,java.lang.Boolean> ISA_QUALIFIER
private final java.util.Map<java.lang.String,java.lang.String> FOUND_SUPERCLASS
private final java.util.Map<java.lang.String,java.util.Set<java.lang.String>> FOUND_INTERFACES
private final java.util.Map<java.lang.String,GenerateMethodAnnotationData> FOUND_GENERATORS
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> METADATA
private final boolean verbose
private final java.util.List<java.io.File> searchPath
private final java.util.Map<java.io.File,java.util.jar.JarFile> openedJarFiles
private static final java.lang.String CONFIGURED_CONTRACT
private static final java.util.List<Utilities.KnownClassData> KNOWN_DATA
private static final java.lang.String GENERATOR_IMPL_NAME
private static final java.lang.String GENERATOR_SCOPE_NAME
private static final java.lang.String LIST_WITH_PTYPE
Utilities(boolean verbose, java.util.List<java.io.File> searchPath)
Utilities(boolean verbose, java.lang.String searchPath)
private static java.util.List<java.io.File> getFilesFromSearchPath(java.lang.String searchPath)
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.IOException
searchHere
- dotDelimitedName
- searchClassPath
- true if the classpath should be searched as welljava.io.IOException
private void nullCaches(java.lang.String dotDelimitedName)
private boolean isClassAContract(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- The file or jar to look indotDelimitedName
- The fully qualified class name to look forprivate java.lang.String getSuperclass(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- The file or jar to look indotDelimitedName
- The fully qualified class name to look forpublic boolean isClassAScope(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- dotDelimitedName
- public boolean isClassAQualifier(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- dotDelimitedName
- public GenerateMethodAnnotationData isClassAGenerator(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- dotDelimitedName
- private void getAssociatedSuperclassContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName, java.util.Set<java.lang.String> addToMe)
public java.util.Set<java.lang.String> getAssociatedContracts(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedName)
searchHere
- dotDelimitedName
- private void addSubInterface(java.util.List<java.io.File> searchHeres, java.lang.String dotDelimitedInterface, java.util.LinkedHashSet<java.lang.String> retVal)
public java.lang.String getMetadataKey(java.lang.String scopeOrQualifier, java.lang.String methodName)
static java.lang.String getListActualType(java.lang.String signature)
static java.lang.String getFirstParameterType(java.lang.String desc)
public java.util.List<DescriptorImpl> createDescriptorIfService(java.io.InputStream is, java.util.List<java.io.File> searchHeres) throws java.io.IOException
java.io.IOException
public java.util.List<DescriptorImpl> findAllServicesFromDirectory(java.io.File directory, java.util.List<java.io.File> parent) throws java.io.IOException
java.io.IOException
public void close()