org.eclipse.ocl.examples.pivot.manager
Class TupleTypeManager

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.manager.TupleTypeManager

public class TupleTypeManager
extends java.lang.Object

TupleTypeManager encapsulates the knowledge about known tuple types.


Nested Class Summary
static class TupleTypeManager.TuplePart
          TuplePart provides a convenient descriptor for a tuple part complying with the full EMF model protocols.
 
Field Summary
protected  MetaModelManager metaModelManager
           
 
Constructor Summary
protected TupleTypeManager(MetaModelManager metaModelManager)
           
 
Method Summary
protected static TemplateParameterReferenceVisitor createTemplateParameterReferenceVisitor(java.util.List<TemplateParameter> allTemplateParameters)
           
 void dispose()
           
static TemplateParameter[] getAllTemplateParameterReferences(java.lang.Iterable<? extends Type> partTypes)
           
 Type getCommonType(TupleType leftType, TupleType rightType, java.util.Map<TemplateParameter,ParameterableElement> bindings)
           
 TupleType getTupleType(IdResolver idResolver, TupleTypeId tupleTypeId)
           
 TupleType getTupleType(java.lang.String tupleName, java.util.Collection<? extends DomainTypedElement> parts, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
 TupleType getTupleType(java.lang.String tupleName, java.util.Map<java.lang.String,? extends Type> parts)
          Return the named tuple typeId with the defined parts (which need not be alphabetically ordered).
 TupleType getTupleType(TupleType type, java.util.Map<TemplateParameter,ParameterableElement> usageBindings)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

metaModelManager

@NonNull
protected final MetaModelManager metaModelManager
Constructor Detail

TupleTypeManager

protected TupleTypeManager(@NonNull
                           MetaModelManager metaModelManager)
Method Detail

createTemplateParameterReferenceVisitor

@NonNull
protected static TemplateParameterReferenceVisitor createTemplateParameterReferenceVisitor(@NonNull
                                                                                                   java.util.List<TemplateParameter> allTemplateParameters)

getAllTemplateParameterReferences

@NonNull
public static TemplateParameter[] getAllTemplateParameterReferences(@NonNull
                                                                            java.lang.Iterable<? extends Type> partTypes)

dispose

public void dispose()

getCommonType

@Nullable
public Type getCommonType(@NonNull
                                   TupleType leftType,
                                   @NonNull
                                   TupleType rightType,
                                   @Nullable
                                   java.util.Map<TemplateParameter,ParameterableElement> bindings)

getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      IdResolver idResolver,
                                      @NonNull
                                      TupleTypeId tupleTypeId)

getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      java.lang.String tupleName,
                                      @NonNull
                                      java.util.Collection<? extends DomainTypedElement> parts,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> usageBindings)

getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      java.lang.String tupleName,
                                      @NonNull
                                      java.util.Map<java.lang.String,? extends Type> parts)
Return the named tuple typeId with the defined parts (which need not be alphabetically ordered).


getTupleType

@NonNull
public TupleType getTupleType(@NonNull
                                      TupleType type,
                                      @Nullable
                                      java.util.Map<TemplateParameter,ParameterableElement> usageBindings)