org.eclipse.emf.codegen.ecore.genmodel.impl
Class GenBaseImpl

java.lang.Object
  extended byorg.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended byorg.eclipse.emf.ecore.impl.BasicEObjectImpl
          extended byorg.eclipse.emf.ecore.impl.EObjectImpl
              extended byorg.eclipse.emf.codegen.ecore.genmodel.impl.GenBaseImpl
All Implemented Interfaces:
EObject, GenBase, InternalEObject, Notifier
Direct Known Subclasses:
GenClassifierImpl, GenEnumLiteralImpl, GenFeatureImpl, GenModelImpl, GenOperationImpl, GenPackageImpl, GenParameterImpl

public abstract class GenBaseImpl
extends EObjectImpl
implements GenBase

An implementation of the model object 'Gen Base'.


Nested Class Summary
static class GenBaseImpl.ColorInformation
           
protected static interface GenBaseImpl.GenClassFilter
           
protected static interface GenBaseImpl.GenConstraintFilter
           
protected static interface GenBaseImpl.GenFeatureFilter
           
protected static interface GenBaseImpl.GenOperationFilter
           
protected static class GenBaseImpl.GIFEmitter
           
protected static class GenBaseImpl.ImportManager
           
protected  class GenBaseImpl.UniqueNameHelper
           
 
Nested classes inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
BasicEObjectImpl.EPropertiesHolder, BasicEObjectImpl.EPropertiesHolderImpl
 
Nested classes inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
BasicNotifierImpl.EAdapterList
 
Nested classes inherited from class org.eclipse.emf.ecore.InternalEObject
InternalEObject.EStore
 
Field Summary
protected static GenPackage ecoreGenPackage
           
protected static HashSet javaLangTypes
           
protected static HashSet javaReservedWords
           
protected static GenPackage xmlNamespaceGenPackage
           
protected static GenPackage xmlTypeGenPackage
           
 
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected GenBaseImpl()
           
 
Method Summary
protected  void appendModelSetting(StringBuffer result, String name, String value)
           
protected  void appendModelSetting(StringBuffer result, String qualifier, String name, String value)
           
 boolean canGenerate()
           
 boolean canGenerateEdit()
           
 boolean canGenerateEditor()
           
 boolean canGenerateSchema()
           
 String capName(String name)
           
protected  List collectGenClasses(List eClasses, GenBaseImpl.GenClassFilter filter)
          Iterate over the specified eClasses list, finding the GenClass corresponding to each EClass.
protected  List collectGenConstraints(List genClassifiers, List genConstraints, GenBaseImpl.GenConstraintFilter filter)
          Iterate over the lists returned by calling getGenConstraints() on items in the list of genClassifiers, and then over the list of genConstraints.
protected  List collectGenFeatures(List genClasses, List genFeatures, GenBaseImpl.GenFeatureFilter filter)
          Iterate over the lists returned by calling getGenFeatures() on items in the list of genClasses, and then over the list of genFeatures.
protected  List collectGenOperations(List genClasses, List genOperations, GenBaseImpl.GenOperationFilter filter)
          Iterate over the lists returned by calling getGenOperations() on items in the list of genClasses, and then over the list of genOperations.
 EObject eObjectForURIFragmentSegment(String uriFragmentSegment)
          Returns the object resolved by the fragment segment.
 GenModelPackage ePackageGenModel()
           
protected  EClass eStaticClass()
           
 String eURIFragmentSegment(EStructuralFeature eStructuralFeature, EObject eObject)
          Returns the fragment segment that, when passed to eObjectForURIFragmentSegment, will resolve to the given object in this object's given feature.
protected  List filterGenClasses(List genClasses, GenBaseImpl.GenClassFilter filter)
          Return all GenClasses in the specified genClasses list that are accepted by filter; all are accepted if filter is null.
protected  GenClass findGenClass(EClass eClass)
           
protected  GenClassifier findGenClassifier(EClassifier eClassifier)
           
protected  GenDataType findGenDataType(EDataType eDataType)
           
protected  GenEnum findGenEnum(EEnum eEnum)
           
protected  GenFeature findGenFeature(EStructuralFeature eStructuralFeature)
           
 GenPackage findGenPackage(EPackage ePackage)
           
protected  GenPackage findGenPackageHelper(GenPackage genPackage, EPackage ePackage)
          Finds the GenPackage corresponding to the EPackage, taking into account any nested GenPackages.
protected  IContainer findOrCreateContainer(IProgressMonitor progressMonitor, int style, List pluginVariables, IPath outputPath, boolean forceStyle)
           
 String format(String name, char separator, String prefix, boolean includePrefix)
           
 void generate(IProgressMonitor progressMonitor)
           
protected  void generate(IProgressMonitor progressMonitor, int style, List pluginVariables, String outputFilePath, GenBaseImpl.GIFEmitter gifEmitter, String key)
           
protected  void generate(IProgressMonitor progressMonitor, int style, List pluginVariables, String outputFilePath, GenBaseImpl.GIFEmitter gifEmitter, String parentKey, String childKey)
           
protected  void generate(IProgressMonitor progressMonitor, int style, List pluginVariables, String outputFilePath, JETEmitter jetEmitter)
           
protected  void generate(IProgressMonitor progressMonitor, int style, List pluginVariables, String targetDirectory, String packageName, String className, JETEmitter jetEmitter)
           
 void generateEdit(IProgressMonitor progressMonitor)
           
 void generateEditor(IProgressMonitor progressMonitor)
           
 void generateSchema(IProgressMonitor progressMonitor)
           
protected  List getAllGenPackages()
           
protected  String getDocumentation()
           
 String getDocumentation(String indentation)
           
abstract  EModelElement getEcoreModelElement()
           
protected  ExtendedMetaData getExtendedMetaData()
           
 GenModel getGenModel()
           
protected  String getImplClassName(String interfaceName)
           
protected  String getImportedType(EClassifier eType, boolean primitiveAsObject)
          Returns the primitive or class name for the given EClassifier.
protected  GenBaseImpl.ImportManager getImportManager()
           
protected  Class getInstanceClass(EClassifier eType)
           
protected static HashSet getJavaLangTypes()
           
protected static HashSet getJavaReservedWords()
          Returns a hash of all Java's keywords and textual literals, as of Java 1.4.
 String getModelInfo()
           
abstract  String getName()
           
protected  String getPrimitiveDefault(EClassifier eType)
           
protected  String getPrimitiveObjectType(EClassifier eType)
           
protected  String getType(EClassifier eType, boolean primitiveAsObject)
          Returns the primitive or qualified class name for the given EClassifier.
protected  List getTypeGenClasses(EClassifier eType, GenPackage firstGenPackage, List genPackages, int max)
          If eType is an EClass, returns the list of GenClasses representing its non-abstract subclasses, beginning with those from the specified firstGenPackage followed by the others in genPackages, and ordered down the inheritance chains within each package.
 boolean hasDocumentation()
           
protected  boolean hasModelContribution()
           
protected  String indent(String text, String indentation)
           
protected static boolean isBlank(String string)
           
protected static boolean isJavaUtilMapEntry(String name)
           
protected  boolean isPrimitiveType(EClassifier eType)
           
protected  List parseName(String sourceName, char sourceSeparator)
          This method breaks sourceName into words delimited by sourceSeparator and/or mixed-case naming.
 String safeName(String name)
           
protected  void setImportManager(GenBaseImpl.ImportManager importManager)
           
 String uncapName(String name)
           
 String uncapPrefixedName(String name)
           
protected static String unicodeEscapeEncode(String unicode)
           
 
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI
 
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eContainer, eContainingFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicIsSet, eDynamicSet, eDynamicUnset, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eStaticFeatureCount, eStore, eUnset, toString
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eNotificationRequired, eNotify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.codegen.ecore.genmodel.GenBase
reconcile
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.emf.ecore.InternalEObject
eNotificationRequired
 

Field Detail

javaReservedWords

protected static HashSet javaReservedWords

javaLangTypes

protected static HashSet javaLangTypes

ecoreGenPackage

protected static GenPackage ecoreGenPackage

xmlTypeGenPackage

protected static GenPackage xmlTypeGenPackage

xmlNamespaceGenPackage

protected static GenPackage xmlNamespaceGenPackage
Constructor Detail

GenBaseImpl

protected GenBaseImpl()

Method Detail

eStaticClass

protected EClass eStaticClass()

Overrides:
eStaticClass in class EObjectImpl

getGenModel

public GenModel getGenModel()
Specified by:
getGenModel in interface GenBase

getName

public abstract String getName()

capName

public String capName(String name)
Specified by:
capName in interface GenBase

uncapName

public String uncapName(String name)
Specified by:
uncapName in interface GenBase

uncapPrefixedName

public String uncapPrefixedName(String name)
Specified by:
uncapPrefixedName in interface GenBase

safeName

public String safeName(String name)
Specified by:
safeName in interface GenBase

getImplClassName

protected String getImplClassName(String interfaceName)

canGenerate

public boolean canGenerate()
Specified by:
canGenerate in interface GenBase

hasModelContribution

protected boolean hasModelContribution()

generate

public void generate(IProgressMonitor progressMonitor)
Specified by:
generate in interface GenBase

generate

protected void generate(IProgressMonitor progressMonitor,
                        int style,
                        List pluginVariables,
                        String outputFilePath,
                        JETEmitter jetEmitter)

generate

protected void generate(IProgressMonitor progressMonitor,
                        int style,
                        List pluginVariables,
                        String outputFilePath,
                        GenBaseImpl.GIFEmitter gifEmitter,
                        String key)

generate

protected void generate(IProgressMonitor progressMonitor,
                        int style,
                        List pluginVariables,
                        String outputFilePath,
                        GenBaseImpl.GIFEmitter gifEmitter,
                        String parentKey,
                        String childKey)

generate

protected void generate(IProgressMonitor progressMonitor,
                        int style,
                        List pluginVariables,
                        String targetDirectory,
                        String packageName,
                        String className,
                        JETEmitter jetEmitter)

getImportManager

protected GenBaseImpl.ImportManager getImportManager()

setImportManager

protected void setImportManager(GenBaseImpl.ImportManager importManager)

findOrCreateContainer

protected IContainer findOrCreateContainer(IProgressMonitor progressMonitor,
                                           int style,
                                           List pluginVariables,
                                           IPath outputPath,
                                           boolean forceStyle)

format

public String format(String name,
                     char separator,
                     String prefix,
                     boolean includePrefix)
Specified by:
format in interface GenBase

parseName

protected List parseName(String sourceName,
                         char sourceSeparator)
This method breaks sourceName into words delimited by sourceSeparator and/or mixed-case naming.


getAllGenPackages

protected List getAllGenPackages()

findGenPackageHelper

protected GenPackage findGenPackageHelper(GenPackage genPackage,
                                          EPackage ePackage)
Finds the GenPackage corresponding to the EPackage, taking into account any nested GenPackages.


findGenPackage

public GenPackage findGenPackage(EPackage ePackage)

findGenClass

protected GenClass findGenClass(EClass eClass)

findGenEnum

protected GenEnum findGenEnum(EEnum eEnum)

findGenDataType

protected GenDataType findGenDataType(EDataType eDataType)

findGenClassifier

protected GenClassifier findGenClassifier(EClassifier eClassifier)

findGenFeature

protected GenFeature findGenFeature(EStructuralFeature eStructuralFeature)

getInstanceClass

protected Class getInstanceClass(EClassifier eType)

isPrimitiveType

protected boolean isPrimitiveType(EClassifier eType)

getPrimitiveObjectType

protected String getPrimitiveObjectType(EClassifier eType)

getPrimitiveDefault

protected String getPrimitiveDefault(EClassifier eType)

getType

protected String getType(EClassifier eType,
                         boolean primitiveAsObject)
Returns the primitive or qualified class name for the given EClassifier. If primitiveAsObject is true, wrapper object names will be returned instead of primitive names (e.g. java.lang.Integer instead of int).


getImportedType

protected String getImportedType(EClassifier eType,
                                 boolean primitiveAsObject)
Returns the primitive or class name for the given EClassifier. Class names will be added as imports to the GenModel's ImportManager, and the imported form will be returned. If primitiveAsObject is true, wrapper object names will be returned instead of primitive names (e.g. Integer instead of int).


getTypeGenClasses

protected List getTypeGenClasses(EClassifier eType,
                                 GenPackage firstGenPackage,
                                 List genPackages,
                                 int max)
If eType is an EClass, returns the list of GenClasses representing its non-abstract subclasses, beginning with those from the specified firstGenPackage followed by the others in genPackages, and ordered down the inheritance chains within each package. Stops searching after max GenClasses are found; -1 for no limit.


getJavaReservedWords

protected static HashSet getJavaReservedWords()
Returns a hash of all Java's keywords and textual literals, as of Java 1.4.


getJavaLangTypes

protected static HashSet getJavaLangTypes()

filterGenClasses

protected List filterGenClasses(List genClasses,
                                GenBaseImpl.GenClassFilter filter)
Return all GenClasses in the specified genClasses list that are accepted by filter; all are accepted if filter is null.


collectGenClasses

protected List collectGenClasses(List eClasses,
                                 GenBaseImpl.GenClassFilter filter)
Iterate over the specified eClasses list, finding the GenClass corresponding to each EClass. Return all such GenClasses if filter is null, or those accepted by filter, otherwise.


collectGenFeatures

protected List collectGenFeatures(List genClasses,
                                  List genFeatures,
                                  GenBaseImpl.GenFeatureFilter filter)
Iterate over the lists returned by calling getGenFeatures() on items in the list of genClasses, and then over the list of genFeatures. Return all such GenFeatures if filter is null, or those accepted by filter, otherwise. Either list argument is ignored if it is null.


collectGenOperations

protected List collectGenOperations(List genClasses,
                                    List genOperations,
                                    GenBaseImpl.GenOperationFilter filter)
Iterate over the lists returned by calling getGenOperations() on items in the list of genClasses, and then over the list of genOperations. Return all such GenOperations if filter is null, or those accepted by filter, otherwise. Either list argument is ignored if it is null.


collectGenConstraints

protected List collectGenConstraints(List genClassifiers,
                                     List genConstraints,
                                     GenBaseImpl.GenConstraintFilter filter)
Iterate over the lists returned by calling getGenConstraints() on items in the list of genClassifiers, and then over the list of genConstraints. Return all such constraint if filter is null, or those accepted by filter, otherwise. Either list argument is ignored if it is null.


getModelInfo

public String getModelInfo()

appendModelSetting

protected void appendModelSetting(StringBuffer result,
                                  String qualifier,
                                  String name,
                                  String value)

appendModelSetting

protected void appendModelSetting(StringBuffer result,
                                  String name,
                                  String value)

ePackageGenModel

public GenModelPackage ePackageGenModel()
Specified by:
ePackageGenModel in interface GenBase

isJavaUtilMapEntry

protected static boolean isJavaUtilMapEntry(String name)

isBlank

protected static boolean isBlank(String string)

canGenerateEdit

public boolean canGenerateEdit()
Specified by:
canGenerateEdit in interface GenBase

generateEdit

public void generateEdit(IProgressMonitor progressMonitor)
Specified by:
generateEdit in interface GenBase

canGenerateEditor

public boolean canGenerateEditor()
Specified by:
canGenerateEditor in interface GenBase

generateEditor

public void generateEditor(IProgressMonitor progressMonitor)
Specified by:
generateEditor in interface GenBase

canGenerateSchema

public boolean canGenerateSchema()
Specified by:
canGenerateSchema in interface GenBase

generateSchema

public void generateSchema(IProgressMonitor progressMonitor)
Specified by:
generateSchema in interface GenBase

eURIFragmentSegment

public String eURIFragmentSegment(EStructuralFeature eStructuralFeature,
                                  EObject eObject)
Description copied from interface: InternalEObject
Returns the fragment segment that, when passed to eObjectForURIFragmentSegment, will resolve to the given object in this object's given feature.

The feature argument may be null in which case it will be deduced, if possible. The default result will be of the form:

  "@<feature-name>[.<index>]"
The index is used only for many-valued features; it represents the position within the list.

Specified by:
eURIFragmentSegment in interface InternalEObject
Overrides:
eURIFragmentSegment in class BasicEObjectImpl

eObjectForURIFragmentSegment

public EObject eObjectForURIFragmentSegment(String uriFragmentSegment)
Description copied from interface: InternalEObject
Returns the object resolved by the fragment segment.

The fragment segment encoding will typically be of the form returned by eURIFragmentSegment.

Specified by:
eObjectForURIFragmentSegment in interface InternalEObject
Overrides:
eObjectForURIFragmentSegment in class BasicEObjectImpl

unicodeEscapeEncode

protected static String unicodeEscapeEncode(String unicode)

getEcoreModelElement

public abstract EModelElement getEcoreModelElement()

getDocumentation

protected String getDocumentation()

hasDocumentation

public boolean hasDocumentation()
Specified by:
hasDocumentation in interface GenBase

getDocumentation

public String getDocumentation(String indentation)
Specified by:
getDocumentation in interface GenBase

indent

protected String indent(String text,
                        String indentation)

getExtendedMetaData

protected ExtendedMetaData getExtendedMetaData()

Copyright 2001-2004 IBM Corporation and others.
All Rights Reserved.