Package org.exolab.castor.builder
Class SGStateInfo
- java.lang.Object
-
- org.exolab.castor.builder.util.ClassInfoResolverImpl
-
- org.exolab.castor.builder.SGStateInfo
-
- All Implemented Interfaces:
ClassInfoResolver
public final class SGStateInfo extends ClassInfoResolverImpl
A class for maintaining state for the SourceGenerator.- Version:
- $Revision: 7996 $ $Date: 2005-06-22 22:13:21 -0600 (Wed, 22 Jun 2005) $
- Author:
- Keith Visco
-
-
Field Summary
Fields Modifier and Type Field Description static int
NORMAL_STATUS
The SourceGenerator is still generating source.static int
STOP_STATUS
The SourceGenerator has been stopped by an error or by the user.
-
Constructor Summary
Constructors Modifier Constructor Description protected
SGStateInfo(Schema schema, SourceGenerator sgen)
Creates a new SGStateInfo.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bindSourceCode(Annotated annotated, JClass[] classes)
Binds the given Annotated structure with its generated source classes.java.util.Properties
getCDRFile(java.lang.String filename)
Returns the CDRFile (Properties file) associated with the given filename.java.util.Enumeration<java.lang.String>
getCDRFilenames()
Returns the set of CDR file names.FactoryState
getCurrentFactoryState()
Returns the current FactoryState that holds information about the classes being generated.Dialog
getDialog()
Returns the Dialog used for interacting with the user.JClass
getImportedSourceCode(java.lang.String className)
Returns the JClass with the given name or null if no bindings have been specified for a JClass with the name.java.util.Map<java.lang.String,JClass>
getImportedSourcesByName()
Returns the sources as generated through XML schema imports.MappingRoot
getMapping(java.lang.String filename)
Returns the Mapping file associated with the given filename.java.util.Enumeration<java.lang.String>
getMappingFilenames()
Returns the set of mapping filenames.java.lang.String
getPackageName()
Get package used when creating new classes.(package private) JClass
getProcessed(java.lang.String className)
Returns the processed JClass with the given name.(package private) Schema
getSchema()
Returns a reference to the schema for which we are generating source.JClass
getSourceCode(java.lang.String className)
Returns the JClass with the given name or null if no bindings have been specified for a JClass with the name.JClass[]
getSourceCode(Annotated annotated)
Returns the array of JClass for the given Annotated structure or null if no bindings have been specified for the given Structure.SourceGenerator
getSourceGenerator()
Returns the SourceGenerator instance being used.java.util.Map<java.lang.String,JClass>
getSourcesByName()
Returns the sources as generated through XML schema imports.int
getStatusCode()
Returns the current status.boolean
getSuppressNonFatalWarnings()
Returns true if non-fatal warnings should be suppressed.(package private) void
markAsProcessed(JClass jClass)
Marks the given JClass as having been processed.(package private) boolean
processed(java.lang.String className)
Returns true if a JClass with the given name has been marked as processed.(package private) boolean
processed(JClass jClass)
Returns true if the given JClass has been marked as processed.(package private) boolean
promptForOverwrite()
Returns true if existing source files should be prompted before being overwritten.void
setCDRFile(java.lang.String filename, java.util.Properties props)
Sets the CDR (ClassDescriptorResolver) file associated with the given filename.void
setCurrentFactoryState(FactoryState state)
Sets the current FactoryState.(package private) void
setDialog(Dialog dialog)
Sets the Dialog used for interacting with the user.void
setMapping(java.lang.String filename, MappingRoot mapping)
Sets the Mapping file associated with the given filename.protected void
setPackageName(java.lang.String packageName)
Set package used when creating new classes.(package private) void
setPromptForOverwrite(boolean promptForOverwrite)
Sets whether or not existing source files should be silently overwritten or whether the user should be prompted first.void
setStatusCode(int status)
Sets the current status code to the given one.(package private) void
setSuppressNonFatalWarnings(boolean suppressNonFatalWarnings)
Sets whether non-fatal warnings should be supporessed.(package private) void
setVerbose(boolean verbose)
Sets whether or not the source code generator prints additional messages during generating source code.void
storeImportedSourcesByName(java.util.Map<java.lang.String,JClass> importedSourcesByName)
Stores generated sources as processed within an imported schema.boolean
verbose()
Returns the value of the verbose flag.-
Methods inherited from class org.exolab.castor.builder.util.ClassInfoResolverImpl
bindReference, keys, resolve
-
-
-
-
Field Detail
-
NORMAL_STATUS
public static final int NORMAL_STATUS
The SourceGenerator is still generating source.- See Also:
- Constant Field Values
-
STOP_STATUS
public static final int STOP_STATUS
The SourceGenerator has been stopped by an error or by the user.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SGStateInfo
protected SGStateInfo(Schema schema, SourceGenerator sgen)
Creates a new SGStateInfo.- Parameters:
schema
- the Schema to generate source forsgen
- the SourceGenerator instance
-
-
Method Detail
-
getPackageName
public java.lang.String getPackageName()
Get package used when creating new classes.- Returns:
- Package used when creating new classes.
-
setPackageName
protected void setPackageName(java.lang.String packageName)
Set package used when creating new classes.- Parameters:
packageName
- Package used when creating new classes.
-
bindSourceCode
public void bindSourceCode(Annotated annotated, JClass[] classes)
Binds the given Annotated structure with its generated source classes.- Parameters:
annotated
- the Annotated structure to add JClass bindings forclasses
- the JClass[] to bind
-
storeImportedSourcesByName
public void storeImportedSourcesByName(java.util.Map<java.lang.String,JClass> importedSourcesByName)
Stores generated sources as processed within an imported schema.- Parameters:
importedSourcesByName
- Generated sources as processed within an imported schema.
-
getProcessed
JClass getProcessed(java.lang.String className)
Returns the processed JClass with the given name. If no such JClass has been marked as processed, null is returned.- Parameters:
className
- the JClass name to check against- Returns:
- the JClass with the given name
-
getSourceCode
public JClass[] getSourceCode(Annotated annotated)
Returns the array of JClass for the given Annotated structure or null if no bindings have been specified for the given Structure.- Parameters:
annotated
- the Annotated structure to search- Returns:
- the JClass array
-
getSourceCode
public JClass getSourceCode(java.lang.String className)
Returns the JClass with the given name or null if no bindings have been specified for a JClass with the name.- Parameters:
className
- the name of the JClass- Returns:
- the JClass if found
-
getImportedSourceCode
public JClass getImportedSourceCode(java.lang.String className)
Returns the JClass with the given name or null if no bindings have been specified for a JClass with the name. This method consults with JClass instances imported through a Schema import only.- Parameters:
className
- the name of the JClass- Returns:
- the (imported) JClass if found
-
getMapping
public MappingRoot getMapping(java.lang.String filename)
Returns the Mapping file associated with the given filename.- Parameters:
filename
- The filename to search for a Mapping File association- Returns:
- the Mapping file.
-
getCDRFile
public java.util.Properties getCDRFile(java.lang.String filename)
Returns the CDRFile (Properties file) associated with the given filename.- Parameters:
filename
- filename of the CDR file to be processed- Returns:
- the Properties file.
-
getCDRFilenames
public java.util.Enumeration<java.lang.String> getCDRFilenames()
Returns the set of CDR file names.- Returns:
- the set of CDR file names.
-
getMappingFilenames
public java.util.Enumeration<java.lang.String> getMappingFilenames()
Returns the set of mapping filenames.- Returns:
- the set of mapping filenames.
-
getStatusCode
public int getStatusCode()
Returns the current status.- Returns:
- the current status.
-
markAsProcessed
void markAsProcessed(JClass jClass)
Marks the given JClass as having been processed.- Parameters:
jClass
- the JClass to mark as having been processed.
-
processed
boolean processed(JClass jClass)
Returns true if the given JClass has been marked as processed.- Parameters:
jClass
- the JClass to check for being marked as processed- Returns:
- true if the given JClass has been marked as processed.
-
processed
boolean processed(java.lang.String className)
Returns true if a JClass with the given name has been marked as processed.- Parameters:
className
- the JClass name to check against- Returns:
- true if a JClass with the given name has been marked as processed
-
promptForOverwrite
boolean promptForOverwrite()
Returns true if existing source files should be prompted before being overwritten.- Returns:
- true if existing source files should be prompted before being overwritten
-
setPromptForOverwrite
void setPromptForOverwrite(boolean promptForOverwrite)
Sets whether or not existing source files should be silently overwritten or whether the user should be prompted first.- Parameters:
promptForOverwrite
- true if existing files should not be silently overwritten.
-
getSchema
Schema getSchema()
Returns a reference to the schema for which we are generating source.- Returns:
- a reference to the schema for which we are generating source.
-
getSourceGenerator
public SourceGenerator getSourceGenerator()
Returns the SourceGenerator instance being used.- Returns:
- the SourceGenerator instance being used.
-
getSuppressNonFatalWarnings
public boolean getSuppressNonFatalWarnings()
Returns true if non-fatal warnings should be suppressed.- Returns:
- true if non-fatal warnings should be suppressed.
-
setSuppressNonFatalWarnings
void setSuppressNonFatalWarnings(boolean suppressNonFatalWarnings)
Sets whether non-fatal warnings should be supporessed.- Parameters:
suppressNonFatalWarnings
- true if non-fatal warnings should be supporessed
-
setCDRFile
public void setCDRFile(java.lang.String filename, java.util.Properties props)
Sets the CDR (ClassDescriptorResolver) file associated with the given filename.- Parameters:
filename
- the filename associated with the CDR fileprops
- the Properties file
-
setMapping
public void setMapping(java.lang.String filename, MappingRoot mapping)
Sets the Mapping file associated with the given filename.- Parameters:
filename
- the filename associated with the Mappingmapping
- the MappingRoot
-
getDialog
public Dialog getDialog()
Returns the Dialog used for interacting with the user.- Returns:
- the Dialog, or null if none has been set.
-
setDialog
void setDialog(Dialog dialog)
Sets the Dialog used for interacting with the user.- Parameters:
dialog
- the Dialog to use
-
setStatusCode
public void setStatusCode(int status)
Sets the current status code to the given one.- Parameters:
status
- the new status code
-
setVerbose
void setVerbose(boolean verbose)
Sets whether or not the source code generator prints additional messages during generating source code.- Parameters:
verbose
- a boolean, when true indicates to print additional messages
-
verbose
public boolean verbose()
Returns the value of the verbose flag. A true value indicates that additional messages may be printed during processing.- Returns:
- the value of the verbose flag.
-
getCurrentFactoryState
public FactoryState getCurrentFactoryState()
Returns the current FactoryState that holds information about the classes being generated.- Returns:
- the current FactoryState
-
setCurrentFactoryState
public void setCurrentFactoryState(FactoryState state)
Sets the current FactoryState.- Parameters:
state
- the current FactoryState- See Also:
getCurrentFactoryState()
-
getImportedSourcesByName
public java.util.Map<java.lang.String,JClass> getImportedSourcesByName()
Returns the sources as generated through XML schema imports.- Returns:
- the sources as generated through XML schema imports.
-
getSourcesByName
public java.util.Map<java.lang.String,JClass> getSourcesByName()
Returns the sources as generated through XML schema imports.- Returns:
- the sources as generated through XML schema imports.
-
-