wt.adapter
Class WebjectDelegateTemplate

java.lang.Object
  extended bywt.adapter.WebjectConstants
      extended bywt.adapter.BasicWebjectDelegate
          extended bywt.adapter.WebjectDelegateTemplate
All Implemented Interfaces:
Externalizable, Serializable, WebjectDelegate
Direct Known Subclasses:
AllVersionsWebjectDelegate, IterationHistoryWebjectDelegate, LifeCycleHistoryWebjectDelegate, QueryWTObjectsWebjectDelegate, UpdateIBAObjectsWebjectDelegate, VersionHistoryWebjectDelegate

public abstract class WebjectDelegateTemplate
extends BasicWebjectDelegate
implements Externalizable

This class provides a "template" for implement WebjectDelegates. It provides a default implementation of the invoke() method. The implementation of the invoke method provides hooks for subclasses to override for their specific processing.

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
private static boolean DEBUG
           
static long EXTERNALIZATION_VERSION_UID
           
private  Group groupIn
           
protected static long OLD_FORMAT_VERSION_UID
           
private  String[] outputAttributeNames
           
private  Enumeration outputObjects
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private  String targetClass
           
private  Enumeration targetObjects
           
private static boolean VERBOSE
           
private  Webject webject
           
private  String whereClause
           
 
Fields inherited from class wt.adapter.BasicWebjectDelegate
ATTRIBUTE, CLASS, CLASS_ID, FIELD, GROUP_OUT, IDENTITY, OBJECT_ID, WHERE
 
Fields inherited from class wt.adapter.WebjectConstants
FAILURE, MESSAGE, OBJECT, OUTPUT, STATUS, SUCCESS
 
Constructor Summary
WebjectDelegateTemplate()
           
 
Method Summary
protected  String[] getDefaultOutputAttributes(String className)
          The subclass can override this method.
protected abstract  Enumeration getOutputObjects(Enumeration inputObjects)
          This method must be overridden in every concrete subclass.
protected  String getParam(String key)
           
protected  String[] getParams(String key)
           
protected  void init(Webject webject, Group groupIn)
           
 Task invoke(Task task, Properties props, com.infoengine.log.ServiceWriter log)
          Provides a template implementation for the invoke method.
 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(WebjectDelegateTemplate thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class wt.adapter.BasicWebjectDelegate
addAttributeToNode, addAttributeToNode, assignValues, assignValues, checkInObjects, checkOutObjects, createGroup, createGroup, createGroup, createGroup, createNode, createNode, createNode, createObject, createObject, createOutputGroup, debug, getAllAttributeNames, getAttributeHelper, getLocalDomain, getLocale, getLocalGuid, getObject, getObjectByUfid, getObjectPropertyValueString, getObjectPropertyValueString, getObjectRefByUfid, getObjects, getProperties, getProperty, getReferenceFactory, getUfid, getUfid, isObjectLocal, parseFields, parseWhere, readVersion, removeQuotes
 
Methods inherited from class wt.adapter.WebjectConstants
readVersion
 
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

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

DEBUG

private static boolean DEBUG

VERBOSE

private static boolean VERBOSE

webject

private Webject webject

whereClause

private String whereClause

targetClass

private String targetClass

outputAttributeNames

private String[] outputAttributeNames

targetObjects

private Enumeration targetObjects

outputObjects

private Enumeration outputObjects

groupIn

private Group groupIn
Constructor Detail

WebjectDelegateTemplate

public WebjectDelegateTemplate()
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
Overrides:
writeExternal in class BasicWebjectDelegate
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
Overrides:
readExternal in class BasicWebjectDelegate
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(WebjectDelegateTemplate 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

getOutputObjects

protected abstract Enumeration getOutputObjects(Enumeration inputObjects)
                                         throws WTException
This method must be overridden in every concrete subclass. This method be called from the invoke() method. The subclass should use this method to return the appropriate output objects which will be returned from the webject.

Supported API: false

Parameters:
inputObjects -
Returns:
Enumeration
Throws:
WTException

getDefaultOutputAttributes

protected String[] getDefaultOutputAttributes(String className)
                                       throws WTException
The subclass can override this method. The default implementation returns all the attributes for the specified class.

Supported API: false

Parameters:
className -
Returns:
String[]
Throws:
WTException

invoke

public Task invoke(Task task,
                   Properties props,
                   com.infoengine.log.ServiceWriter log)
            throws WebjectServiceException,
                   WTException
Provides a template implementation for the invoke method. The implementation calls several methods which can be overridden in the concrete subclass to vary the behavior.

Specified by:
invoke in interface WebjectDelegate
Parameters:
task -
props -
log -
Returns:
com.infoengine.object.factory.Task
Throws:
WebjectServiceException
WTException

init

protected void init(Webject webject,
                    Group groupIn)

getParam

protected String getParam(String key)

getParams

protected String[] getParams(String key)