public abstract class AbstractTemplateableIdImpl<T extends TemplateableId> extends AbstractElementId implements TemplateableId
AbstractElementId.OperationIdsMap, AbstractElementId.PropertyIdsMap
ElementId.ElementIdComparator
Modifier and Type | Field and Description |
---|---|
protected java.lang.Integer |
hashCode |
protected int |
templateParameters |
NULL_TEMPLATEABLE_ID_ARRAY
Modifier | Constructor and Description |
---|---|
protected |
AbstractTemplateableIdImpl(java.lang.Integer hashCode,
int templateParameters) |
Modifier and Type | Method and Description |
---|---|
protected abstract T |
createSpecializedId(BindingsId templateBindings) |
EnumerationLiteralId |
getEnumerationLiteralId(java.lang.String name) |
OperationId |
getOperationId(int templateParameters,
java.lang.String name,
ParametersId parametersId) |
PropertyId |
getPropertyId(java.lang.String name) |
T |
getSpecializedId(BindingsId templateBindings)
Return the typeId for this typeId specialized by typeParameters.
|
T |
getSpecializedId(ElementId... templateBindings) |
TemplateParameterId |
getTemplateParameterId(int index) |
int |
getTemplateParameters() |
int |
hashCode() |
equals, getLiteralName, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getGeneralizedId, getLiteralName, getMetaTypeName, getName
accept, getDisplayName
@NonNull protected final java.lang.Integer hashCode
protected final int templateParameters
protected AbstractTemplateableIdImpl(@NonNull java.lang.Integer hashCode, int templateParameters)
@NonNull protected abstract T createSpecializedId(@NonNull BindingsId templateBindings)
@NonNull public EnumerationLiteralId getEnumerationLiteralId(@NonNull java.lang.String name)
@NonNull public OperationId getOperationId(int templateParameters, @NonNull java.lang.String name, @NonNull ParametersId parametersId)
@NonNull public PropertyId getPropertyId(@NonNull java.lang.String name)
@NonNull public T getSpecializedId(@NonNull BindingsId templateBindings)
TemplateableId
Throws UnsupportedException for typeIds such as Primitive Types that may not be specialized.
getSpecializedId
in interface TemplateableId
@NonNull public TemplateParameterId getTemplateParameterId(int index)
public int getTemplateParameters()
getTemplateParameters
in interface TemplateableId
public final int hashCode()
hashCode
in class AbstractElementId