org.eclipse.ocl.examples.codegen.java.types
Class EObjectsDescriptor

java.lang.Object
  extended by org.eclipse.ocl.examples.codegen.java.types.AbstractDescriptor
      extended by org.eclipse.ocl.examples.codegen.java.types.AbstractCollectionDescriptor
          extended by org.eclipse.ocl.examples.codegen.java.types.EObjectsDescriptor
All Implemented Interfaces:
TypeDescriptor, CollectionDescriptor, UnboxedDescriptor

public class EObjectsDescriptor
extends AbstractCollectionDescriptor
implements UnboxedDescriptor

An EObjectsDescriptor describes a type for a collection of (unboxed) EObject representations. It has a pivot CollectionTypeId describing both collection and elements, a Java class name for the elements and an EClassifier for the elements.
Note that in EMF, that Java class for all collections is java.util.List.

This descriptor is used whenever the Java classes actually exist.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.codegen.java.types.AbstractDescriptor
AbstractDescriptor.NamedFuture
 
Field Summary
protected  org.eclipse.emf.ecore.EClassifier eClassifier
           
protected  java.lang.Class<?> javaClass
           
protected  java.lang.Class<?> oldJavaClass
           
 
Fields inherited from class org.eclipse.ocl.examples.codegen.java.types.AbstractDescriptor
elementId
 
Constructor Summary
EObjectsDescriptor(CollectionTypeId collectionTypeId, org.eclipse.emf.ecore.EClassifier eClassifier, java.lang.Class<?> javaClass)
           
 
Method Summary
 void append(JavaStream javaStream)
          Append the declaration of this type to a JavaStream.
 void append(JavaStream javaStream, boolean reClass)
           
 void appendElement(JavaStream javaStream, boolean reClass)
           
 java.lang.String getClassName()
          Return the fully qualified Java class name described by this type.
 java.lang.Class<?> getJavaClass()
          Return the basic Java class for this descriptor.
 UnboxedDescriptor getUnboxedDescriptor()
          Return the type descriptor for use when an unboxed type would be appropriate.
 java.lang.Class<?> hasJavaClass()
          Return the basic Java class for this descriptor.
 boolean isAssignableFrom(TypeDescriptor typeDescriptor)
          Return true if an instance described by typeDescriptor may be assigned to an instance described by this.
 
Methods inherited from class org.eclipse.ocl.examples.codegen.java.types.AbstractCollectionDescriptor
appendBox, asCollectionDescriptor, getElementId, isAssignableTo, toString
 
Methods inherited from class org.eclipse.ocl.examples.codegen.java.types.AbstractDescriptor
appendCast, appendCastTerm, appendEqualsValue, appendNotEqualsTerm, appendUnboxStatements, getEClassifier, getPrimitiveDescriptor, reClass, zzisBoxedType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.codegen.generator.TypeDescriptor
appendBox, appendCast, appendCastTerm, appendEqualsValue, appendNotEqualsTerm, appendUnboxStatements, asCollectionDescriptor, getEClassifier, getPrimitiveDescriptor, isAssignableTo
 

Field Detail

eClassifier

@NonNull
protected final org.eclipse.emf.ecore.EClassifier eClassifier

javaClass

@NonNull
protected final java.lang.Class<?> javaClass

oldJavaClass

@NonNull
protected final java.lang.Class<?> oldJavaClass
Constructor Detail

EObjectsDescriptor

public EObjectsDescriptor(@NonNull
                          CollectionTypeId collectionTypeId,
                          @NonNull
                          org.eclipse.emf.ecore.EClassifier eClassifier,
                          @NonNull
                          java.lang.Class<?> javaClass)
Method Detail

append

public void append(@NonNull
                   JavaStream javaStream)
Description copied from interface: TypeDescriptor
Append the declaration of this type to a JavaStream. e.g. "typename"

Specified by:
append in interface TypeDescriptor

append

public void append(@NonNull
                   JavaStream javaStream,
                   boolean reClass)
Specified by:
append in interface CollectionDescriptor
Overrides:
append in class AbstractCollectionDescriptor

appendElement

public void appendElement(@NonNull
                          JavaStream javaStream,
                          boolean reClass)
Specified by:
appendElement in interface CollectionDescriptor
Overrides:
appendElement in class AbstractCollectionDescriptor

getClassName

@NonNull
public java.lang.String getClassName()
Description copied from interface: TypeDescriptor
Return the fully qualified Java class name described by this type. In the case of collection types, this method returns the class name of the collection elements.

Specified by:
getClassName in interface TypeDescriptor

getJavaClass

@NonNull
public java.lang.Class<?> getJavaClass()
Description copied from interface: TypeDescriptor
Return the basic Java class for this descriptor. e.g. List for an unboxed collection.

Specified by:
getJavaClass in interface TypeDescriptor

getUnboxedDescriptor

@NonNull
public UnboxedDescriptor getUnboxedDescriptor()
Description copied from interface: TypeDescriptor
Return the type descriptor for use when an unboxed type would be appropriate. Returns this when this is an unboxed descriptor.

Specified by:
getUnboxedDescriptor in interface TypeDescriptor

hasJavaClass

@Nullable
public java.lang.Class<?> hasJavaClass()
Description copied from interface: TypeDescriptor
Return the basic Java class for this descriptor. e.g. List for an unboxed collection. Returns null for no Java class known.

Specified by:
hasJavaClass in interface TypeDescriptor

isAssignableFrom

public final boolean isAssignableFrom(@NonNull
                                      TypeDescriptor typeDescriptor)
Description copied from interface: TypeDescriptor
Return true if an instance described by typeDescriptor may be assigned to an instance described by this.

Specified by:
isAssignableFrom in interface TypeDescriptor