org.eclipse.emf.codegen.ecore.generator
Class AbstractGeneratorAdapter
java.lang.Object
org.eclipse.emf.common.notify.impl.SingletonAdapterImpl
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
- All Implemented Interfaces:
- Adapter, Adapter.Internal, GeneratorAdapter
- Direct Known Subclasses:
- GenBaseGeneratorAdapter
- public abstract class AbstractGeneratorAdapter
- extends SingletonAdapterImpl
- implements GeneratorAdapter
- Since:
- 2.2.0
Method Summary |
protected void |
addClasspathEntries(JETEmitter jetEmitter)
|
abstract boolean |
canGenerate(java.lang.Object object,
java.lang.Object projectType)
|
protected void |
clearImportManager()
|
protected java.lang.Object |
createCodeFormatter(java.util.Map options,
URI workspacePath)
|
protected GIFEmitter |
createGIFEmitter(java.lang.String inputPathName)
|
protected void |
createImportManager(java.lang.String packageName,
java.lang.String className)
|
protected java.io.InputStream |
createInputStream(URI workspacePath)
|
protected JETEmitter |
createJETEmitter(AbstractGeneratorAdapter.JETEmitterDescriptor jetEmitterDescriptor)
|
protected Monitor |
createMonitor(Monitor monitor,
int ticks)
|
protected java.io.OutputStream |
createOutputStream(URI workspacePath)
|
protected abstract Diagnostic |
doGenerate(java.lang.Object object,
java.lang.Object projectType,
Monitor monitor)
|
protected Diagnostic |
doPostGenerate(java.lang.Object object,
java.lang.Object projectType)
|
protected Diagnostic |
doPreGenerate(java.lang.Object object,
java.lang.Object projectType)
|
protected void |
ensureContainerExists(URI workspacePath,
Monitor monitor)
Ensures that a container coresponding to the specified relative URI exists. |
protected void |
ensureProjectExists(java.lang.String workspacePath,
java.lang.Object object,
java.lang.Object projectType,
boolean force,
Monitor monitor)
Ensures that a project, corresponding to the first segment in the specifed workspace path, exists. |
protected boolean |
exists(URI workspacePath)
|
protected java.lang.String |
formatCode(java.lang.String contents,
java.lang.Object codeFormatter)
If non-null, use the specified code formatter to format the given compilation unit contents. |
Diagnostic |
generate(java.lang.Object object,
java.lang.Object projectType,
Monitor monitor)
|
protected void |
generateGIF(java.lang.String targetPathName,
GIFEmitter gifEmitter,
java.lang.String parentKey,
java.lang.String childKey,
boolean overwrite,
Monitor monitor)
|
protected void |
generateJava(java.lang.String targetPath,
java.lang.String packageName,
java.lang.String className,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
Monitor monitor)
|
protected void |
generateProperties(java.lang.String targetPathName,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
Monitor monitor)
|
protected void |
generateText(java.lang.String targetPathName,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
boolean overwrite,
java.lang.String encoding,
Monitor monitor)
|
GeneratorAdapterFactory |
getAdapterFactory()
|
java.util.Collection |
getCanGenerateChildren(java.lang.Object object,
java.lang.Object projectType)
|
java.lang.Object |
getCanGenerateParent(java.lang.Object object,
java.lang.Object projectType)
|
protected java.lang.String |
getContents(URI workspacePath,
java.lang.String encoding)
|
protected java.lang.String |
getEncoding(URI workspacePath)
|
java.util.Collection |
getGenerateChildren(java.lang.Object object,
java.lang.Object projectType)
|
java.lang.Object |
getGenerateParent(java.lang.Object object,
java.lang.Object projectType)
|
protected Generator |
getGenerator()
|
protected GIFEmitter |
getGIFEmitter(java.lang.String[] inputPathNames,
int id)
|
protected ImportManager |
getImportManager()
|
protected JETEmitter |
getJETEmitter(AbstractGeneratorAdapter.JETEmitterDescriptor[] jetEmitterDescriptors,
int id)
|
protected URIConverter |
getURIConverter()
|
boolean |
isAdapterForType(java.lang.Object type)
Returns false |
protected boolean |
isReadOnly(URI workspacePath)
|
Diagnostic |
postGenerate(java.lang.Object object,
java.lang.Object projectType)
|
Diagnostic |
preGenerate(java.lang.Object object,
java.lang.Object projectType)
|
void |
setAdapterFactory(GeneratorAdapterFactory adapterFactory)
|
protected void |
setStaticTemplateClass(JETEmitter jetEmitter,
java.lang.String className)
|
protected void |
setWriteable(URI workspacePath)
|
protected Diagnostic |
toDiagnostic(java.lang.Exception exception,
java.lang.String currentMessage)
|
protected URI |
toPlatformResourceURI(URI uri)
|
protected URI |
toURI(java.lang.String pathName)
|
protected boolean |
validateEdit(URI workspacePath,
Monitor monitor)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MANIFEST_ENCODING
protected static final java.lang.String MANIFEST_ENCODING
- See Also:
- Constant Field Values
PROPERTIES_ENCODING
protected static final java.lang.String PROPERTIES_ENCODING
- See Also:
- Constant Field Values
adapterFactory
protected GeneratorAdapterFactory adapterFactory
generatingObject
protected java.lang.Object generatingObject
message
protected java.lang.String message
jetEmitters
protected JETEmitter[] jetEmitters
gifEmitters
protected GIFEmitter[] gifEmitters
importManager
protected ImportManager importManager
uriConverter
protected URIConverter uriConverter
OBJECT_ARGUMENT
protected static final java.lang.Class[] OBJECT_ARGUMENT
AbstractGeneratorAdapter
public AbstractGeneratorAdapter()
AbstractGeneratorAdapter
public AbstractGeneratorAdapter(GeneratorAdapterFactory adapterFactory)
getAdapterFactory
public GeneratorAdapterFactory getAdapterFactory()
- Specified by:
getAdapterFactory
in interface GeneratorAdapter
setAdapterFactory
public void setAdapterFactory(GeneratorAdapterFactory adapterFactory)
- Specified by:
setAdapterFactory
in interface GeneratorAdapter
isAdapterForType
public boolean isAdapterForType(java.lang.Object type)
- Description copied from class:
SingletonAdapterImpl
- Returns
false
- Specified by:
isAdapterForType
in interface Adapter
- Overrides:
isAdapterForType
in class SingletonAdapterImpl
- Parameters:
type
- the type.
- Returns:
false
getCanGenerateChildren
public java.util.Collection getCanGenerateChildren(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
getCanGenerateChildren
in interface GeneratorAdapter
getCanGenerateParent
public java.lang.Object getCanGenerateParent(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
getCanGenerateParent
in interface GeneratorAdapter
canGenerate
public abstract boolean canGenerate(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
canGenerate
in interface GeneratorAdapter
getGenerateChildren
public java.util.Collection getGenerateChildren(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
getGenerateChildren
in interface GeneratorAdapter
getGenerateParent
public java.lang.Object getGenerateParent(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
getGenerateParent
in interface GeneratorAdapter
preGenerate
public final Diagnostic preGenerate(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
preGenerate
in interface GeneratorAdapter
doPreGenerate
protected Diagnostic doPreGenerate(java.lang.Object object,
java.lang.Object projectType)
generate
public final Diagnostic generate(java.lang.Object object,
java.lang.Object projectType,
Monitor monitor)
- Specified by:
generate
in interface GeneratorAdapter
doGenerate
protected abstract Diagnostic doGenerate(java.lang.Object object,
java.lang.Object projectType,
Monitor monitor)
throws java.lang.Exception
- Throws:
java.lang.Exception
postGenerate
public final Diagnostic postGenerate(java.lang.Object object,
java.lang.Object projectType)
- Specified by:
postGenerate
in interface GeneratorAdapter
doPostGenerate
protected Diagnostic doPostGenerate(java.lang.Object object,
java.lang.Object projectType)
toDiagnostic
protected Diagnostic toDiagnostic(java.lang.Exception exception,
java.lang.String currentMessage)
getGenerator
protected Generator getGenerator()
getJETEmitter
protected JETEmitter getJETEmitter(AbstractGeneratorAdapter.JETEmitterDescriptor[] jetEmitterDescriptors,
int id)
createJETEmitter
protected JETEmitter createJETEmitter(AbstractGeneratorAdapter.JETEmitterDescriptor jetEmitterDescriptor)
setStaticTemplateClass
protected void setStaticTemplateClass(JETEmitter jetEmitter,
java.lang.String className)
addClasspathEntries
protected void addClasspathEntries(JETEmitter jetEmitter)
throws JETException
- Throws:
JETException
getGIFEmitter
protected GIFEmitter getGIFEmitter(java.lang.String[] inputPathNames,
int id)
createGIFEmitter
protected GIFEmitter createGIFEmitter(java.lang.String inputPathName)
generateText
protected void generateText(java.lang.String targetPathName,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
boolean overwrite,
java.lang.String encoding,
Monitor monitor)
generateProperties
protected void generateProperties(java.lang.String targetPathName,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
Monitor monitor)
generateGIF
protected void generateGIF(java.lang.String targetPathName,
GIFEmitter gifEmitter,
java.lang.String parentKey,
java.lang.String childKey,
boolean overwrite,
Monitor monitor)
generateJava
protected void generateJava(java.lang.String targetPath,
java.lang.String packageName,
java.lang.String className,
JETEmitter jetEmitter,
java.lang.Object[] arguments,
Monitor monitor)
toURI
protected URI toURI(java.lang.String pathName)
toPlatformResourceURI
protected URI toPlatformResourceURI(URI uri)
createMonitor
protected Monitor createMonitor(Monitor monitor,
int ticks)
createImportManager
protected void createImportManager(java.lang.String packageName,
java.lang.String className)
clearImportManager
protected void clearImportManager()
getImportManager
protected ImportManager getImportManager()
ensureProjectExists
protected void ensureProjectExists(java.lang.String workspacePath,
java.lang.Object object,
java.lang.Object projectType,
boolean force,
Monitor monitor)
- Ensures that a project, corresponding to the first segment in the specifed workspace path, exists. If the project
does not exist, a default project will be created. If it does exist and force is true, it will be reconfigured to
match the default configuration. The remainder of the path suggests the folder under which source will be generated.
In a standalone scenario, this method does nothing, since simply opening a stream via a URIConverter will
automatically create the necessary directories.
ensureContainerExists
protected void ensureContainerExists(URI workspacePath,
Monitor monitor)
- Ensures that a container coresponding to the specified relative URI exists. The URI represents a workspace
path for which the project must already exist, since this method doesn't have the necessary information to
set up a project. This method will create nested folders within the project, if possible.
In a standalone scenario, this method does nothing, since simply opening a stream via a URIConverter will
automatically create the necessary directories.
getURIConverter
protected URIConverter getURIConverter()
exists
protected boolean exists(URI workspacePath)
isReadOnly
protected boolean isReadOnly(URI workspacePath)
setWriteable
protected void setWriteable(URI workspacePath)
throws java.lang.Exception
- Throws:
java.lang.Exception
validateEdit
protected boolean validateEdit(URI workspacePath,
Monitor monitor)
createInputStream
protected java.io.InputStream createInputStream(URI workspacePath)
throws java.lang.Exception
- Throws:
java.lang.Exception
createOutputStream
protected java.io.OutputStream createOutputStream(URI workspacePath)
throws java.lang.Exception
- Throws:
java.lang.Exception
getContents
protected java.lang.String getContents(URI workspacePath,
java.lang.String encoding)
throws java.lang.Exception
- Throws:
java.lang.Exception
getEncoding
protected java.lang.String getEncoding(URI workspacePath)
createCodeFormatter
protected java.lang.Object createCodeFormatter(java.util.Map options,
URI workspacePath)
formatCode
protected java.lang.String formatCode(java.lang.String contents,
java.lang.Object codeFormatter)
- If non-null, use the specified code formatter to format the given compilation unit contents.