public static class MultiGraphQualifierHierarchy.MultiGraphFactory extends Object
GraphQualifierHierarchy. A factory can be used
 to create at most one GraphQualifierHierarchy.
 To create a hierarchy, a client may do so in three steps:
addQualifier(AnnotationMirror);
   addSubtype(AnnotationMirror, AnnotationMirror)
   build().
 addSubtype(AnnotationMirror, AnnotationMirror) adds the two qualifiers
 to the hierarchy if they are not already in.
 Also, once the client builds a hierarchy through build(), no further
 modifications are allowed nor can it making a new instance.
 
Clients build the hierarchy using addQualifier(AnnotationMirror) and addSubtype(AnnotationMirror, AnnotationMirror), then get the instance with calling build()
| Modifier and Type | Field and Description | 
|---|---|
| protected AnnotatedTypeFactory | atypeFactoryThe annotated type factory associated with this hierarchy. | 
| protected Map<AnnotationMirror,AnnotationMirror> | polyQualifiersMap from qualifier hierarchy to the corresponding polymorphic qualifier. | 
| protected Map<AnnotationMirror,Set<AnnotationMirror>> | supertypesDirectMap from qualifiers to the direct supertypes of the qualifier. | 
| Constructor and Description | 
|---|
| MultiGraphFactory(AnnotatedTypeFactory atypeFactory)Create a factory. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addQualifier(AnnotationMirror qual)Adds the passed qualifier to the hierarchy. | 
| void | addSubtype(AnnotationMirror sub,
          AnnotationMirror sup)Adds a subtype relationship between the two type qualifiers. | 
| protected void | assertNotBuilt()Throw an exception if the factory was already built. | 
| QualifierHierarchy | build()Returns an instance of  GraphQualifierHierarchythat represents the hierarchy
 built so far. | 
| protected QualifierHierarchy | createQualifierHierarchy() | 
protected final Map<AnnotationMirror,Set<AnnotationMirror>> supertypesDirect
protected final Map<AnnotationMirror,AnnotationMirror> polyQualifiers
protected final AnnotatedTypeFactory atypeFactory
public MultiGraphFactory(AnnotatedTypeFactory atypeFactory)
public void addQualifier(AnnotationMirror qual)
addSubtype(AnnotationMirror, AnnotationMirror).public void addSubtype(AnnotationMirror sub, AnnotationMirror sup)
sub - the sub type qualifiersup - the super type qualifierpublic QualifierHierarchy build()
GraphQualifierHierarchy that represents the hierarchy
 built so far.protected QualifierHierarchy createQualifierHierarchy()
protected void assertNotBuilt()