org.exolab.castor.builder
Class FactoryState

java.lang.Object
  extended by org.exolab.castor.builder.FactoryState
All Implemented Interfaces:
ClassInfoResolver

public class FactoryState
extends java.lang.Object
implements ClassInfoResolver

A class used to save State information for the SourceFactory.

Author:
Keith Visco

Constructor Summary
FactoryState(java.lang.String className, SGStateInfo sgState, java.lang.String packageName, XMLBindingComponent component)
          Constructs a new FactoryState.
FactoryState(java.lang.String className, SGStateInfo sgState, java.lang.String packageName, XMLBindingComponent component, boolean enumeration)
          Constructs a factory state with the option of choosing between JClass and JEnum.
 
Method Summary
 void bindReference(java.lang.Object key, ClassInfo classInfoRef)
          Adds the given Reference to this ClassInfo resolver.
 ClassInfo getClassInfo()
          Get ClassInfo for _jClass.
 FieldInfo getFieldInfoForChoice()
          Get FieldInfo used to handle xsd:choice.
 JClass getJClass()
          Get JClass for which we are currently generating code.
 java.lang.String getPackageName()
          Get package for the class currently being generated.
(package private)  FactoryState getParent()
          Returns the parent of this FactoryState.
 SGStateInfo getSGStateInfo()
          Returns the SGStateInfo.
 boolean hasBoundProperties()
          Returns true if any bound properties have been found.
 boolean isCreateGroupItem()
          Returns true if we are currently in the state of creating a group item class.
 void markAsProcessed(Annotated annotated)
          Marks the given Annotated XML Schema structure as having been processed.
 boolean processed(Annotated annotated)
          Returns true if the given Annotated XML Schema structure has been marked as processed.
 ClassInfo resolve(java.lang.Object key)
          Returns the ClassInfo which has been bound to the given key.
 void setBoundProperties(boolean bound)
          Allows setting the bound properties flag.
 void setCreateGroupItem(boolean createGroupItem)
          Sets to true if we are currently generating a class to represent items in a group.
 void setFieldInfoForChoice(FieldInfo fieldInfoForChoice)
          Set FieldInfo used to handle xsd:choice.
 void setParent(FactoryState parent)
          Sets the parent of this FactoryState.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FactoryState

public FactoryState(java.lang.String className,
                    SGStateInfo sgState,
                    java.lang.String packageName,
                    XMLBindingComponent component)
Constructs a new FactoryState.

Parameters:
className - Class name of the class currently being generated.
sgState - Source Generator State object
packageName - package name for generated code.
component - TODO

FactoryState

public FactoryState(java.lang.String className,
                    SGStateInfo sgState,
                    java.lang.String packageName,
                    XMLBindingComponent component,
                    boolean enumeration)
Constructs a factory state with the option of choosing between JClass and JEnum.

Parameters:
className - Class name of the class currently being generated.
sgState - Source Generator State object
packageName - package name for generated code.
component - TODO
enumeration - use a JEnum instead if a JClass
Method Detail

getJClass

public final JClass getJClass()
Get JClass for which we are currently generating code.

Returns:
JClass for which we are currently generating code.

getClassInfo

public final ClassInfo getClassInfo()
Get ClassInfo for _jClass.

Returns:
ClassInfo for _jClass.

getFieldInfoForChoice

public final FieldInfo getFieldInfoForChoice()
Get FieldInfo used to handle xsd:choice.

Returns:
FieldInfo used to handle xsd:choice.

setFieldInfoForChoice

public final void setFieldInfoForChoice(FieldInfo fieldInfoForChoice)
Set FieldInfo used to handle xsd:choice.

Parameters:
fieldInfoForChoice - FieldInfo used to handle xsd:choice.

getPackageName

public final java.lang.String getPackageName()
Get package for the class currently being generated.

Returns:
Package for the class currently being generated.

bindReference

public void bindReference(java.lang.Object key,
                          ClassInfo classInfoRef)
Adds the given Reference to this ClassInfo resolver.

Specified by:
bindReference in interface ClassInfoResolver
Parameters:
key - the key to bind a reference to
classInfoRef - the ClassInfo which is being referenced

getSGStateInfo

public SGStateInfo getSGStateInfo()
Returns the SGStateInfo.

Returns:
the SGStateInfo.

markAsProcessed

public void markAsProcessed(Annotated annotated)
Marks the given Annotated XML Schema structure as having been processed.

Parameters:
annotated - the Annotated XML Schema structure to mark as having been processed.

processed

public boolean processed(Annotated annotated)
Returns true if the given Annotated XML Schema structure has been marked as processed.

Parameters:
annotated - the Annotated XML Schema structure to check for being marked as processed
Returns:
true if the given Annotated XML Schema structure has been marked as processed

hasBoundProperties

public boolean hasBoundProperties()
Returns true if any bound properties have been found.

Returns:
true if any bound properties have been found.

setBoundProperties

public void setBoundProperties(boolean bound)
Allows setting the bound properties flag.

Parameters:
bound - the new value of the bound properties flag
See Also:
hasBoundProperties()

resolve

public ClassInfo resolve(java.lang.Object key)
Returns the ClassInfo which has been bound to the given key.

Specified by:
resolve in interface ClassInfoResolver
Parameters:
key - the object to which the ClassInfo has been bound
Returns:
the ClassInfo which has been bound to the given key

isCreateGroupItem

public boolean isCreateGroupItem()
Returns true if we are currently in the state of creating a group item class.

Returns:
true if we are currently in the state of creating a group item class.

setCreateGroupItem

public void setCreateGroupItem(boolean createGroupItem)
Sets to true if we are currently generating a class to represent items in a group.

Parameters:
createGroupItem - true if we are currently generating a class to represent items in a group.

getParent

FactoryState getParent()
Returns the parent of this FactoryState. The parent of a factory state is the previous item of the list that contained all the created factory states.

Returns:
the parent of this FactoryState.

setParent

public void setParent(FactoryState parent)
Sets the parent of this FactoryState.

Parameters:
parent - the parent FactoryState
See Also:
getParent()


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com