public abstract class AbstractDescriptor extends java.lang.Object implements TypeDescriptor
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractDescriptor.NamedFuture
NamedFuture is a placeholder for classes that have yet to be created.
|
Constructor and Description |
---|
AbstractDescriptor(ElementId elementId) |
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
appendBox(JavaStream js,
JavaLocalContext<?> localContext,
CGBoxExp cgBoxExp,
CGValuedElement unboxedValue)
Append the appropriate statements to js to create the boxed value for cgBboxExp from its unboxedValue.
|
void |
appendCast(JavaStream js,
java.lang.Class<?> actualJavaClass,
JavaStream.SubStream subStream)
Append the actualJavaClass subStream to js wrapped in a cast to this type.g.
|
void |
appendCastTerm(JavaStream js,
CGValuedElement cgElement)
Append a cgElement to js wrapped in a cast to this type
|
java.lang.Boolean |
appendEcore(JavaStream js,
JavaLocalContext<?> localContext,
CGEcoreExp cgEcoreExp,
CGValuedElement unboxedValue)
Append a conversion to an Ecore value.
|
java.lang.Boolean |
appendEcoreStatements(JavaStream js,
JavaLocalContext<?> localContext,
CGEcoreExp cgEcoreExp,
CGValuedElement boxedValue)
Append the appropriate statements to js to create the ecore value for cgEcoreExp from its boxedValue.
|
void |
appendEcoreValue(JavaStream js,
java.lang.String requiredClassName,
CGValuedElement cgValue)
Append cgValue to js casting an internally typed Ecore value to requiredClassName.
|
void |
appendEqualsValue(JavaStream js,
CGValuedElement thisValue,
CGValuedElement thatValue,
boolean notEquals)
Append an expression term that evaluates whether (this TypedDescriptor and) thisValue is not equals/ notEquals to thatValue.
|
void |
appendNotEqualsTerm(JavaStream js,
CGValuedElement thisValue,
TypeDescriptor thatTypeDescriptor,
java.lang.String thatName)
Append an expression term that evaluates whether (this TypedDescriptor and) thisValue is not equal to thatTypeDescriptor and thatName.
|
java.lang.Boolean |
appendUnboxStatements(JavaStream js,
JavaLocalContext<?> localContext,
CGUnboxExp cgUnboxExp,
CGValuedElement boxedValue)
Append the appropriate statements to js to create the unboxed value for cgUnboxExp from its boxedValue.
|
CollectionDescriptor |
asCollectionDescriptor()
Return a non-null Collection type descriptor if this type descriptor describes a Collection.
|
org.eclipse.emf.ecore.EClassifier |
getEClassifier()
Return the Ecore EClassifier described by this type.
|
ElementId |
getElementId() |
TypeDescriptor |
getPrimitiveDescriptor()
Return the type descriptor for use when a primitive type would be appropriate.
|
boolean |
isAssignableTo(java.lang.Class<?> javaClass)
Return true if an instance described by this typeDescriptor may be assigned to a javaClass.
|
protected boolean |
isBoxedType(PivotMetamodelManager metamodelManager,
CGValuedElement cgValue) |
boolean |
isPrimitive()
Return true is this is a built-in primitive type such as boolean or int.
|
protected static java.lang.Class<?> |
reClass(java.lang.Class<?> javaClass)
Convert an AS javaClass to its underlying Domain interface.
|
java.lang.String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
append, getClassName, getEcoreDescriptor, getJavaClass, getUnboxedDescriptor, hasJavaClass, isAssignableFrom
@NonNull protected final ElementId elementId
public AbstractDescriptor(@NonNull ElementId elementId)
@NonNull protected static java.lang.Class<?> reClass(@NonNull java.lang.Class<?> javaClass)
@NonNull public java.lang.Boolean appendBox(@NonNull JavaStream js, @NonNull JavaLocalContext<?> localContext, @NonNull CGBoxExp cgBoxExp, @NonNull CGValuedElement unboxedValue)
TypeDescriptor
appendBox
in interface TypeDescriptor
public void appendCast(@NonNull JavaStream js, @Nullable java.lang.Class<?> actualJavaClass, @Nullable JavaStream.SubStream subStream)
TypeDescriptor
appendCast
in interface TypeDescriptor
public void appendCastTerm(@NonNull JavaStream js, @NonNull CGValuedElement cgElement)
TypeDescriptor
appendCastTerm
in interface TypeDescriptor
@NonNull public java.lang.Boolean appendEcore(@NonNull JavaStream js, @NonNull JavaLocalContext<?> localContext, @NonNull CGEcoreExp cgEcoreExp, @NonNull CGValuedElement unboxedValue)
TypeDescriptor
appendEcore
in interface TypeDescriptor
public void appendEcoreValue(@NonNull JavaStream js, @NonNull java.lang.String requiredClassName, @NonNull CGValuedElement cgValue)
TypeDescriptor
appendEcoreValue
in interface TypeDescriptor
public void appendNotEqualsTerm(@NonNull JavaStream js, @NonNull CGValuedElement thisValue, @NonNull TypeDescriptor thatTypeDescriptor, @NonNull java.lang.String thatName)
TypeDescriptor
appendNotEqualsTerm
in interface TypeDescriptor
@NonNull public java.lang.Boolean appendEcoreStatements(@NonNull JavaStream js, @NonNull JavaLocalContext<?> localContext, @NonNull CGEcoreExp cgEcoreExp, @NonNull CGValuedElement boxedValue)
TypeDescriptor
appendEcoreStatements
in interface TypeDescriptor
public void appendEqualsValue(@NonNull JavaStream js, @NonNull CGValuedElement thisValue, @NonNull CGValuedElement thatValue, boolean notEquals)
TypeDescriptor
appendEqualsValue
in interface TypeDescriptor
@NonNull public java.lang.Boolean appendUnboxStatements(@NonNull JavaStream js, @NonNull JavaLocalContext<?> localContext, @NonNull CGUnboxExp cgUnboxExp, @NonNull CGValuedElement boxedValue)
TypeDescriptor
appendUnboxStatements
in interface TypeDescriptor
@Nullable public CollectionDescriptor asCollectionDescriptor()
TypeDescriptor
asCollectionDescriptor
in interface TypeDescriptor
@Nullable public org.eclipse.emf.ecore.EClassifier getEClassifier()
TypeDescriptor
getEClassifier
in interface TypeDescriptor
@NonNull public ElementId getElementId()
@NonNull public TypeDescriptor getPrimitiveDescriptor()
TypeDescriptor
getPrimitiveDescriptor
in interface TypeDescriptor
public boolean isAssignableTo(@NonNull java.lang.Class<?> javaClass)
TypeDescriptor
isAssignableTo
in interface TypeDescriptor
protected boolean isBoxedType(@NonNull PivotMetamodelManager metamodelManager, @NonNull CGValuedElement cgValue)
public boolean isPrimitive()
TypeDescriptor
isPrimitive
in interface TypeDescriptor
@NonNull public java.lang.String toString()
toString
in class java.lang.Object