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

java.lang.Object
  |
  +--org.eclipse.emf.common.notify.impl.NotifierImpl
        |
        +--org.eclipse.emf.ecore.impl.EObjectImpl
              |
              +--org.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'.


Inner Class Summary
static class GenBaseImpl.ColorInformation
           
protected static interface GenBaseImpl.GenClassFilter
           
protected static interface GenBaseImpl.GenFeatureFilter
           
protected static interface GenBaseImpl.GenOperationFilter
           
protected static class GenBaseImpl.GIFEmitter
           
protected static class GenBaseImpl.ImportManager
           
protected  class GenBaseImpl.UniqueNameHelper
           
 
Inner classes inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
EObjectImpl.EPropertiesHolder, EObjectImpl.EPropertiesHolderImpl
 
Field Summary
protected static GenPackage ecoreGenPackage
           
protected static java.util.HashSet javaLangTypes
           
protected static java.util.HashSet javaReservedWords
           
protected static EcorePackage theEcorePackage
           
 
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eContainer, eContainerFeatureID, ELAST_EOBJECT_FLAG, eProperties
 
Fields inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl
eAdapters, EDELIVER, eFlags, ELAST_NOTIFIER_FLAG
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected GenBaseImpl()
          
 
Method Summary
protected  void appendModelSetting(java.lang.StringBuffer result, java.lang.String name, java.lang.String value)
           
protected  void appendModelSetting(java.lang.StringBuffer result, java.lang.String qualifier, java.lang.String name, java.lang.String value)
           
 boolean canGenerate()
           
 boolean canGenerateEdit()
           
 boolean canGenerateEditor()
           
 java.lang.String capName(java.lang.String name)
           
protected  java.util.List collectGenClasses(java.util.List eClasses, GenBaseImpl.GenClassFilter filter)
          Iterate over the specified eClasses list, finding the GenClass corresponding to each EClass.
protected  java.util.List collectGenFeatures(java.util.List genClasses, java.util.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  java.util.List collectGenOperations(java.util.List genClasses, java.util.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(java.lang.String uriFragmentSegment)
          Returns the object resolved by the fragment segment.
 GenModelPackage ePackageGenModel()
           
protected  EClass eStaticClass()
          
 java.lang.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  java.util.List filterGenClasses(java.util.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  org.eclipse.core.resources.IContainer findOrCreateContainer(org.eclipse.core.runtime.IProgressMonitor progressMonitor, int style, org.eclipse.core.runtime.IPath outputPath, boolean forceStyle)
           
 java.lang.String format(java.lang.String name, char separator, java.lang.String prefix, boolean includePrefix)
           
 void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
protected  void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor, int style, java.lang.String outputFilePath, GenBaseImpl.GIFEmitter gifEmitter, java.lang.String key)
           
protected  void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor, int style, java.lang.String outputFilePath, GenBaseImpl.GIFEmitter gifEmitter, java.lang.String parentKey, java.lang.String childKey)
           
protected  void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor, int style, java.lang.String outputFilePath, JETEmitter jetEmitter)
           
protected  void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor, int style, java.lang.String targetDirectory, java.lang.String packageName, java.lang.String className, JETEmitter jetEmitter)
           
 void generateEdit(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
 void generateEditor(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
protected  java.util.List getAllGenPackages()
           
 GenModel getGenModel()
           
protected  java.lang.String getImplClassName(java.lang.String interfaceName)
           
protected  java.lang.String getImportedType(EClassifier eType, boolean primitiveAsObject)
          Returns the primitive or class name for the given EClassifier.
protected  GenBaseImpl.ImportManager getImportManager()
           
protected  java.lang.Class getInstanceClass(EClassifier eType)
           
protected static java.util.HashSet getJavaLangTypes()
           
protected static java.util.HashSet getJavaReservedWords()
          Returns a hash of all Java's keywords and textual literals, as of Java 1.4.
 java.lang.String getModelInfo()
           
abstract  java.lang.String getName()
           
protected  java.lang.String getPrimitiveDefault(EClassifier eType)
           
protected  java.lang.String getPrimitiveObjectType(EClassifier eType)
           
protected  java.lang.String getType(EClassifier eType, boolean primitiveAsObject)
          Returns the primitive or qualified class name for the given EClassifier.
protected  java.util.List getTypeGenClasses(EClassifier eType, GenPackage firstGenPackage, java.util.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.
protected  boolean hasModelContribution()
           
protected static boolean isJavaUtilMapEntry(java.lang.String name)
           
protected  boolean isPrimitiveType(EClassifier eType)
           
protected  java.util.List parseName(java.lang.String sourceName, char sourceSeparator)
          This method breaks sourceName into words delimited by sourceSeparator and/or mixed-case naming.
 java.lang.String safeName(java.lang.String name)
           
protected  void setImportManager(GenBaseImpl.ImportManager importManager)
           
 java.lang.String uncapName(java.lang.String name)
           
 java.lang.String uncapPrefixedName(java.lang.String name)
           
protected static java.lang.String unicodeEscapeEncode(java.lang.String unicode)
           
 
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eClass, eContainer, eContainerFeatureID, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicFeatureID, eDynamicGet, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicIsSet, eDynamicSet, eDynamicUnset, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eIsProxy, eIsSet, eProperties, eProxyURI, eResource, eSet, eSetClass, eSetProxyURI, eSetResource, eSetting, eSettingDelegate, eSettings, eStaticFeatureCount, eUnset, toString
 
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl
eAdapters, eDeliver, eNotificationRequired, eNotify, eSetDeliver
 
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, 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

theEcorePackage

protected static EcorePackage theEcorePackage

javaReservedWords

protected static java.util.HashSet javaReservedWords

javaLangTypes

protected static java.util.HashSet javaLangTypes

ecoreGenPackage

protected static GenPackage ecoreGenPackage
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 java.lang.String getName()

capName

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

uncapName

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

uncapPrefixedName

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

safeName

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

getImplClassName

protected java.lang.String getImplClassName(java.lang.String interfaceName)

canGenerate

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

hasModelContribution

protected boolean hasModelContribution()

generate

public void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Specified by:
generate in interface GenBase

generate

protected void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor,
                        int style,
                        java.lang.String outputFilePath,
                        JETEmitter jetEmitter)

generate

protected void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor,
                        int style,
                        java.lang.String outputFilePath,
                        GenBaseImpl.GIFEmitter gifEmitter,
                        java.lang.String key)

generate

protected void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor,
                        int style,
                        java.lang.String outputFilePath,
                        GenBaseImpl.GIFEmitter gifEmitter,
                        java.lang.String parentKey,
                        java.lang.String childKey)

generate

protected void generate(org.eclipse.core.runtime.IProgressMonitor progressMonitor,
                        int style,
                        java.lang.String targetDirectory,
                        java.lang.String packageName,
                        java.lang.String className,
                        JETEmitter jetEmitter)

getImportManager

protected GenBaseImpl.ImportManager getImportManager()

setImportManager

protected void setImportManager(GenBaseImpl.ImportManager importManager)

findOrCreateContainer

protected org.eclipse.core.resources.IContainer findOrCreateContainer(org.eclipse.core.runtime.IProgressMonitor progressMonitor,
                                                                      int style,
                                                                      org.eclipse.core.runtime.IPath outputPath,
                                                                      boolean forceStyle)

format

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

parseName

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

getAllGenPackages

protected java.util.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 java.lang.Class getInstanceClass(EClassifier eType)

isPrimitiveType

protected boolean isPrimitiveType(EClassifier eType)

getPrimitiveObjectType

protected java.lang.String getPrimitiveObjectType(EClassifier eType)

getPrimitiveDefault

protected java.lang.String getPrimitiveDefault(EClassifier eType)

getType

protected java.lang.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 java.lang.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 java.util.List getTypeGenClasses(EClassifier eType,
                                           GenPackage firstGenPackage,
                                           java.util.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 java.util.HashSet getJavaReservedWords()
Returns a hash of all Java's keywords and textual literals, as of Java 1.4.

getJavaLangTypes

protected static java.util.HashSet getJavaLangTypes()

filterGenClasses

protected java.util.List filterGenClasses(java.util.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 java.util.List collectGenClasses(java.util.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 java.util.List collectGenFeatures(java.util.List genClasses,
                                            java.util.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 java.util.List collectGenOperations(java.util.List genClasses,
                                              java.util.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.

getModelInfo

public java.lang.String getModelInfo()

appendModelSetting

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

appendModelSetting

protected void appendModelSetting(java.lang.StringBuffer result,
                                  java.lang.String name,
                                  java.lang.String value)

ePackageGenModel

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

isJavaUtilMapEntry

protected static boolean isJavaUtilMapEntry(java.lang.String name)

canGenerateEdit

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

generateEdit

public void generateEdit(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Specified by:
generateEdit in interface GenBase

canGenerateEditor

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

generateEditor

public void generateEditor(org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Specified by:
generateEditor in interface GenBase

eURIFragmentSegment

public java.lang.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.

Overrides:
eURIFragmentSegment in class EObjectImpl
Following copied from interface: org.eclipse.emf.ecore.InternalEObject
Parameters:
eFeature - the feature relating the given object to this object, or null.
eObject - the object to be identified.
Returns:
the fragment segment that resolves to the given object in this object's given feature.

eObjectForURIFragmentSegment

public EObject eObjectForURIFragmentSegment(java.lang.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.

Overrides:
eObjectForURIFragmentSegment in class EObjectImpl
Following copied from interface: org.eclipse.emf.ecore.InternalEObject
Parameters:
uriFragment - a fragment segment.
Returns:
the fragment segment that resolves to the given object in this object's given feature.

unicodeEscapeEncode

protected static java.lang.String unicodeEscapeEncode(java.lang.String unicode)

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