abstract class FactoryDescriptor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static com.google.common.base.CharMatcher |
invalidIdentifierCharacters |
Constructor and Description |
---|
FactoryDescriptor() |
Modifier and Type | Method and Description |
---|---|
(package private) abstract boolean |
allowSubclasses() |
private static boolean |
areDuplicateMethodDescriptors(FactoryMethodDescriptor factory,
ImplementationMethodDescriptor implementation)
Returns true if the given
FactoryMethodDescriptor and
ImplementationMethodDescriptor are duplicates. |
(package private) static FactoryDescriptor |
create(java.lang.String name,
javax.lang.model.type.TypeMirror extendingType,
com.google.common.collect.ImmutableSet<javax.lang.model.type.TypeMirror> implementingTypes,
boolean publicType,
com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> methodDescriptors,
com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> implementationMethodDescriptors,
boolean allowSubclasses) |
private static com.google.common.collect.ImmutableBiMap<FactoryMethodDescriptor,ImplementationMethodDescriptor> |
createDuplicateMethodDescriptorsBiMap(com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> factoryMethodDescriptors,
com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> implementationMethodDescriptors)
Creates a bi-map of duplicate
ImplementationMethodDescriptor s by their respective
FactoryMethodDescriptor . |
(package private) abstract javax.lang.model.type.TypeMirror |
extendingType() |
private static com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> |
getDeduplicatedMethodDescriptors(com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> methodDescriptors,
com.google.common.collect.ImmutableBiMap<FactoryMethodDescriptor,ImplementationMethodDescriptor> duplicateMethodDescriptors)
Returns a set of deduplicated
FactoryMethodDescriptor s from the set of original
descriptors and the bi-map of duplicate descriptors. |
(package private) abstract com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> |
implementationMethodDescriptors() |
(package private) abstract com.google.common.collect.ImmutableSet<javax.lang.model.type.TypeMirror> |
implementingTypes() |
(package private) abstract com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> |
methodDescriptors() |
(package private) abstract java.lang.String |
name() |
(package private) abstract com.google.common.collect.ImmutableMap<Key,java.lang.String> |
providerNames() |
(package private) abstract boolean |
publicType() |
private static final com.google.common.base.CharMatcher invalidIdentifierCharacters
abstract java.lang.String name()
abstract javax.lang.model.type.TypeMirror extendingType()
abstract com.google.common.collect.ImmutableSet<javax.lang.model.type.TypeMirror> implementingTypes()
abstract boolean publicType()
abstract com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> methodDescriptors()
abstract com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> implementationMethodDescriptors()
abstract boolean allowSubclasses()
abstract com.google.common.collect.ImmutableMap<Key,java.lang.String> providerNames()
static FactoryDescriptor create(java.lang.String name, javax.lang.model.type.TypeMirror extendingType, com.google.common.collect.ImmutableSet<javax.lang.model.type.TypeMirror> implementingTypes, boolean publicType, com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> methodDescriptors, com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> implementationMethodDescriptors, boolean allowSubclasses)
private static com.google.common.collect.ImmutableBiMap<FactoryMethodDescriptor,ImplementationMethodDescriptor> createDuplicateMethodDescriptorsBiMap(com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> factoryMethodDescriptors, com.google.common.collect.ImmutableSet<ImplementationMethodDescriptor> implementationMethodDescriptors)
ImplementationMethodDescriptor
s by their respective
FactoryMethodDescriptor
.private static com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> getDeduplicatedMethodDescriptors(com.google.common.collect.ImmutableSet<FactoryMethodDescriptor> methodDescriptors, com.google.common.collect.ImmutableBiMap<FactoryMethodDescriptor,ImplementationMethodDescriptor> duplicateMethodDescriptors)
FactoryMethodDescriptor
s from the set of original
descriptors and the bi-map of duplicate descriptors.
Modifies the duplicate FactoryMethodDescriptor
s such that they are overriding and
reflect properties from the ImplementationMethodDescriptor
they are implementing.
private static boolean areDuplicateMethodDescriptors(FactoryMethodDescriptor factory, ImplementationMethodDescriptor implementation)
FactoryMethodDescriptor
and
ImplementationMethodDescriptor
are duplicates.
Descriptors are duplicates if they have the same name and if they have the same passed types in the same order.