wt.graph.template
Class ObjectGraphTemplateFactory

java.lang.Object
  extended bywt.graph.template.ObjectGraphTemplateFactory
All Implemented Interfaces:
Externalizable, RemoteAccess, Serializable

public final class ObjectGraphTemplateFactory
extends Object
implements RemoteAccess, Externalizable



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
private static String FC_RESOURCE
           
private static Vector linkExclusionList
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
(package private) static boolean SERVER
           
 
Fields inherited from interface wt.method.RemoteAccess
versionID
 
Constructor Summary
ObjectGraphTemplateFactory()
          

Supported API: false
 
Method Summary
protected  ObjectGraphTemplate _newGraphTemplate(String root, String graphTemplateImpl, String nodeTemplateImpl, String edgeTemplateImpl)
          Allows construction of an object graph template based on the given String as the fully qualified class name of the root's type of the graph.
private  String[] getAliasListOf(ObjectGraphNodeTemplate node, Vector nodeList)
           
private  ObjectGraphTemplate getAllNodesOf(ObjectGraphTemplate template, Vector nodeList, Vector edgeList)
           
private  void getNeighboringNodesOf(ObjectGraphNodeTemplate origin, Vector nodeList, Vector edgeList, String nodeTemplateImpl, String edgeTemplateImpl)
           
private  void getNeighboringRefsOf(ObjectGraphNodeTemplate ref, Vector nodeList, Vector edgeList, String nodeTemplateImpl, String edgeTemplateImpl)
           
private  ObjectGraphNodeTemplate getNode(String nodeName, ObjectGraphNode[] nodeList)
           
private  ObjectGraphNodeTemplate getNode(String nodeName, Vector nodeList)
           
private  ObjectGraphNodeTemplate getRole(String roleName, ObjectGraphNodeTemplate node, Vector nodeList, String nodeTemplateImpl)
           
static void main(String[] args)
           
 ObjectGraphTemplate newGraphTemplate(Class root, String graphTemplateImpl, String nodeTemplateImpl, String edgeTemplateImpl)
          Allows construction of an object graph template based on the given Class as the root of the graph.
 ObjectGraphTemplate newGraphTemplate(String root, String graphTemplateImpl, String nodeTemplateImpl, String edgeTemplateImpl)
          Allows construction of an object graph template based on the given String as the fully qualified class name of the root's type of the graph.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(ObjectGraphTemplateFactory thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
private  void resolveOrphanedNodesOf(ObjectGraphTemplate template, Vector nodeList, Vector edgeList)
           
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

SERVER

static final boolean SERVER

FC_RESOURCE

private static final String FC_RESOURCE
See Also:
Constant Field Values

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

linkExclusionList

private static Vector linkExclusionList
Constructor Detail

ObjectGraphTemplateFactory

public ObjectGraphTemplateFactory()


Supported API: false

Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(ObjectGraphTemplateFactory thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

newGraphTemplate

public ObjectGraphTemplate newGraphTemplate(String root,
                                            String graphTemplateImpl,
                                            String nodeTemplateImpl,
                                            String edgeTemplateImpl)
                                     throws WTException,
                                            WTPropertyVetoException,
                                            ObjectGraphException
Allows construction of an object graph template based on the given String as the fully qualified class name of the root's type of the graph. This allows construction of a static view of an object graph with types.

However, there is a restriction whereby if this static view of an object graph template is to be realized as an instance view, or an actual object graph, then the class name given initially must represent a subtype of Persistable.



Supported API: false

Parameters:
root -
graphTemplateImpl -
nodeTemplateImpl -
edgeTemplateImpl -
Returns:
ObjectGraphTemplate
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

_newGraphTemplate

protected ObjectGraphTemplate _newGraphTemplate(String root,
                                                String graphTemplateImpl,
                                                String nodeTemplateImpl,
                                                String edgeTemplateImpl)
                                         throws WTException,
                                                WTPropertyVetoException,
                                                ObjectGraphException
Allows construction of an object graph template based on the given String as the fully qualified class name of the root's type of the graph. This allows construction of a static view of an object graph with types.

However, there is a restriction whereby if this static view of an object graph template is to be realized as an instance view, or an actual object graph, then the class name given initially must represent a subtype of Persistable.



Supported API: false

Parameters:
root -
graphTemplateImpl -
nodeTemplateImpl -
edgeTemplateImpl -
Returns:
ObjectGraphTemplate
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

newGraphTemplate

public ObjectGraphTemplate newGraphTemplate(Class root,
                                            String graphTemplateImpl,
                                            String nodeTemplateImpl,
                                            String edgeTemplateImpl)
                                     throws WTException,
                                            WTPropertyVetoException,
                                            ObjectGraphException
Allows construction of an object graph template based on the given Class as the root of the graph. This allows construction of a static view of an object graph with types.

However, there is a restriction whereby if this static view of an object graph template is to be realized as an instance view, or an actual object graph, then the class given initially must be a subtype of Persistable.



Supported API: false

Parameters:
root -
graphTemplateImpl -
nodeTemplateImpl -
edgeTemplateImpl -
Returns:
ObjectGraphTemplate
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

getNode

private ObjectGraphNodeTemplate getNode(String nodeName,
                                        Vector nodeList)

getNode

private ObjectGraphNodeTemplate getNode(String nodeName,
                                        ObjectGraphNode[] nodeList)

getRole

private ObjectGraphNodeTemplate getRole(String roleName,
                                        ObjectGraphNodeTemplate node,
                                        Vector nodeList,
                                        String nodeTemplateImpl)
                                 throws WTException,
                                        WTPropertyVetoException,
                                        ObjectGraphException
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

getAliasListOf

private String[] getAliasListOf(ObjectGraphNodeTemplate node,
                                Vector nodeList)

resolveOrphanedNodesOf

private void resolveOrphanedNodesOf(ObjectGraphTemplate template,
                                    Vector nodeList,
                                    Vector edgeList)
                             throws ObjectGraphException
Throws:
ObjectGraphException

getAllNodesOf

private ObjectGraphTemplate getAllNodesOf(ObjectGraphTemplate template,
                                          Vector nodeList,
                                          Vector edgeList)
                                   throws WTException,
                                          WTPropertyVetoException,
                                          ObjectGraphException
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

getNeighboringRefsOf

private void getNeighboringRefsOf(ObjectGraphNodeTemplate ref,
                                  Vector nodeList,
                                  Vector edgeList,
                                  String nodeTemplateImpl,
                                  String edgeTemplateImpl)
                           throws WTException,
                                  WTPropertyVetoException,
                                  ObjectGraphException
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

getNeighboringNodesOf

private void getNeighboringNodesOf(ObjectGraphNodeTemplate origin,
                                   Vector nodeList,
                                   Vector edgeList,
                                   String nodeTemplateImpl,
                                   String edgeTemplateImpl)
                            throws WTException,
                                   WTPropertyVetoException,
                                   ObjectGraphException
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

main

public static final void main(String[] args)