Package net.vleo.timel.type
Class TemplateType<T>
- java.lang.Object
-
- net.vleo.timel.type.Type<T>
-
- net.vleo.timel.type.TemplateType<T>
-
- Direct Known Subclasses:
IntegralDoubleType
,IntegralFloatType
,IntegralIntegerType
public abstract class TemplateType<T> extends Type<T>
A abstract superclass for template types, that is types that are defined by a class and a list of parameters.- Author:
- Andrea Leofreddi
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TemplateType()
protected
TemplateType(Object... parameters)
-
Method Summary
Modifier and Type Method Description boolean
isSpecializedTemplate()
boolean
isUnboundTemplate()
TemplateType<T>
specialize(Object... parameters)
TemplateType<T>
template()
String
toString()
-
Methods inherited from class net.vleo.timel.type.Type
equals, getDownscaler, getName, getParameters, getUpscaler, hashCode, isConcrete
-
-
-
-
Constructor Detail
-
TemplateType
protected TemplateType(Object... parameters)
-
TemplateType
protected TemplateType()
-
-
Method Detail
-
isSpecializedTemplate
public boolean isSpecializedTemplate()
- Overrides:
isSpecializedTemplate
in classType<T>
- Returns:
- True iff this type is a specialized template
-
isUnboundTemplate
public boolean isUnboundTemplate()
- Overrides:
isUnboundTemplate
in classType<T>
- Returns:
- True iff this type is a non-specialized template
-
template
public TemplateType<T> template()
-
specialize
public TemplateType<T> specialize(Object... parameters)
- Overrides:
specialize
in classType<T>
-
-