com.sri.emo.dbobj
Class Attribute

java.lang.Object
  extended by com.jcorporate.expresso.core.dataobjects.BaseDataObject
      extended by com.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
          extended by com.jcorporate.expresso.core.dbobj.DBObject
              extended by com.jcorporate.expresso.core.dbobj.SecuredDBObject
                  extended by com.jcorporate.expresso.core.dbobj.RowSecuredDBObject
                      extended by com.sri.emo.dbobj.Attribute
All Implemented Interfaces:
Cacheable, ContextNested, DataObject, Securable, LookupInterface, IViewable, ModelVisitable, Serializable

public class Attribute
extends RowSecuredDBObject
implements ModelVisitable, IViewable

encapsulate a name-value pair which is associated with a Node object

Author:
larry hamel
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jcorporate.expresso.core.dbobj.DBObject
DBObject.FieldError, DBObject.FieldUpdate
 
Field Summary
static String ATTRIBUTE_COMMENT
           
static String ATTRIBUTE_COMMENT_PREFIX
           
static String ATTRIBUTE_CREATED
           
static String ATTRIBUTE_DESCRIPTION
           
static String ATTRIBUTE_DISPLAY_NAME
          For now, attribute display name is stored in subclasses of PartDescriptor, as implemented in PartDescriptor.getParts().
static String ATTRIBUTE_ID
          incrementing PK
static String ATTRIBUTE_ID_PREFIX
           
static String ATTRIBUTE_ID_UNKNOWN
          Attribute id is used to discern between multiple attributes with the same name for the same owner node.
static String ATTRIBUTE_MODIFIED
           
static String ATTRIBUTE_ORDER
           
static String ATTRIBUTE_PICKLIST_DISPLAY
           
static String ATTRIBUTE_TAG
           
static String ATTRIBUTE_TYPE
          Name is internal string, type of attribute (would be PK with nodeId if we didn't save multiple attributes of same type per node ).
static String ATTRIBUTE_VALUE
           
static String ATTRIBUTE_VALUE_PREFIX
           
static String CUSTOM_ATTRIBUTE
           
static String NODE_ID
           
static String NODE_TYPE
          Field NODE_TYPE breaks normalization by storing data in two places, but is convenient for finding all attributes for a given node type;
static String TABLE_NAME
           
 
Fields inherited from class com.jcorporate.expresso.core.dbobj.RowSecuredDBObject
DEFAULT_PERMISSION_CODE
 
Fields inherited from class com.jcorporate.expresso.core.dbobj.SecuredDBObject
ADD, ALL_FUNCTIONS, CACHE_NAME, CACHE_TTY, DELETE, SEARCH, SYSTEM_ACCOUNT_NAME, UPDATE
 
Fields inherited from class com.jcorporate.expresso.core.dbobj.DBObject
ATTRIBUTE_ERROR, ATTRIBUTE_ERROR_MESSAGE, ATTRIBUTE_PAGE_LIMIT, BIG_DECIMAL_ZERO, CACHE_LIMIT_PERCENT, CACHE_LIMIT_TTL, EMAIL_MASK, EVENT_ADD, EVENT_DELETE, EVENT_UPDATE, FLOAT_MASK, INT_MASK, IS_CHECK_RELATIONAL_INTEGRITY, IS_MUTABLE, sCacheStats, UPDATE_CHANGED_ONLY, WHERE_KEYWORD
 
Fields inherited from class com.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
anyFieldsDistinct, anyFieldsToInput, anyFieldsToRetrieve, appendCustomWhere, caseSensitiveQuery, customWhereClause, dbKey, distinctFields, inputFields, localConnection, LONGBINARY_READ_DEFAULT_SIZE, maxRecords, myClassName, myUpdates, offsetRecord, recordSet, retrieveFields, sMetadataMap, sortKeys
 
Fields inherited from class com.jcorporate.expresso.core.dataobjects.BaseDataObject
currentStatus, globalMask
 
Fields inherited from interface com.jcorporate.expresso.core.dataobjects.Securable
SYSTEM_ACCOUNT
 
Fields inherited from interface com.jcorporate.expresso.core.dataobjects.DataObject
STATUS_CURRENT, STATUS_DELETED, STATUS_NEW, STATUS_UPDATED
 
Constructor Summary
Attribute()
          Default constructor for Attribute creates a new object of this type with no connection yet allocated.
Attribute(DBConnection theConnection, int theUser)
          Constructor
Attribute(Node parent)
          attribute for this parent
Attribute(ReadOnlyUser theUser)
          Constructor
Attribute(String attribId)
           
 
Method Summary
 void acceptVisitor(ModelVisitor visitor)
          Accepts the visitor and redirects the visitor to the appropriate type we're dealing with.
 void add()
          We override to set dates and provide default ordering if nec.
 Attribute clone(String cloneNodeId)
          deep copy fields to new attribute into attribute which attaches to node with given ID; expects fully saved Attribute (with ID) as source.
 Attribute clone(String cloneNodeId, String destAttribType)
          deep copy fields to new attribute into attribute which attaches to node with given ID; expects fully saved Attribute (with ID) as source.
 void delete(boolean deleteDetails)
          We override to provide call to handler, if any, and reorder remaining, if nec.
 String getAttribComment()
           
 String getAttribCommentRaw()
           
 String getAttribCreated()
           
 String getAttribId()
           
 String getAttribModified()
           
 String getAttribType()
           
 String getAttribValue()
           
 String getAttribValueRaw()
           
 IPartHandler getCustomHandler()
           
 Transition getEditTrans()
          Provide a transition for editing of this object, suitable for creating an HTTP link.
 Transition getEditTrans(Map reqParams)
          Provide a transition for SPECIAL editing of this object, suitable for creating an HTTP link.
 Part getExplicitPart()
          Returns the value for an explicit Part if it has been set.
 String getField(String fieldName)
          Extends the normal getField method to handle virtual fields.
 String getOrder()
           
 int getOrderInt()
           
 Node getParentNode()
           
 String getParentNodeId()
           
 String getParentNodeType()
           
 Part getPart()
          Retrieve the part why which this attribute belongs to.
 Output getViewComment(Map params)
          Retrieve the view comment as an output.
 Transition getViewTrans()
          Provide a transition for viewing this object, suitable for creating an HTTP link.
 Transition getViewTrans(Map reqParams)
          Provide a transition for viewing this object, suitable for creating an HTTP link.
 org.dom4j.Element getXML(ExpressoRequest request, boolean addOrder)
           
 boolean hasCustomHandler()
           
 boolean hasPicklist()
           
 void isAllowed(String requestedFunction)
          OVERRIDE to use parent node permissions
 boolean isRowAllowed(String requestedFunction)
          override to use parent node perms for attrib.
 void setAttributeComment(String comment)
           
 void setAttributeId(String id)
           
 void setAttributeType(String attribType)
           
 void setAttributeValue(String value)
           
 void setExplicitPart(Part explicitPart)
          Sets the part for this attribute explicitly.
 void setOrder(int order)
           
 void setOrder(String value)
           
 void setParentNode(Node node)
           
 void setParentNodeId(String parentId)
          note: new nodes need BOTH id and type from parent
 void setParentNodeType(String parentType)
          note: new nodes need BOTH id and type from parent
protected  void setupFields()
          Defines the database table name and fields for this DB object
 void update()
          We override to set dates and fix ordering if nec.
 void updateOrder()
          Update without triggering reordering; useful for 'transaction' where order of part A should be set before manipulating order of part B, as opposed to a deletion or otherwise, where reordering of all remaining is required.
 
Methods inherited from class com.jcorporate.expresso.core.dbobj.RowSecuredDBObject
add, addGroupPerm, canRequesterAdministrate, canRequesterRead, canRequesterWrite, checkDeleteDetailPerm, checkKeyLength, defaultGroup, defaultPermissions, deleteAll, find, getAdministrateGroups, getGroups, getPermissions, getReadGroups, getWriteGroups, isAdminGroup, isReadGroup, isRowAllowed, isWriteGroup, ownerID, removeGroup, retrieve, searchAndRetrieveList, searchAndRetrieveList, setPermissions, setPermissions
 
Methods inherited from class com.jcorporate.expresso.core.dbobj.SecuredDBObject
canRequesterAdd, canRequesterDelete, canRequesterUpdate, checkAllowed, copyAttributes, count, createSecurityCache, delete, getRequestingUid, getRequestingUser, getString, getString, getString, getString, getString, getString, getSystemUid, instantiate, search, setRequestingUid, setRequestingUser
 
Methods inherited from class com.jcorporate.expresso.core.dbobj.DBObject
addDetail, addField, addField, addFieldError, addFoundKeys, addIfNeeded, addIndex, addKey, addMaster, addOrUpdate, addSortKey, addTransition, addVirtualField, addVirtualField, addVirtualField, addVirtualField, average, basicAdd, cacheIsChangedComparison, canUseRetrieve, checkAllReferredToBy, checkAllRefs, checkAllRefsPublic, checkField, checkMutable, checkRef, checkRef, clear, clearDistinctFields, clearError, clearFieldsToInput, clearFieldsToRetrieve, clearSortKeys, clone, containsWildCards, copyAllFields, deleteAll, deleteDetails, denotesRange, equals, fetchImmut, fetchImmutable, forKey, formatDateTime, get, getAllAttributes, getAttribute, getAttributesIterator, getBooleanFieldValue, getCacheSize, getCacheStatsMap, getCacheUtil, getCheckZeroUpdate, getCustomWhereClause, getDataContext, getDataField, getDataTransferObject, getDBName, getDetails, getDistinctFieldCount, getDistinctFields, getFieldAttributesIterator, getFieldBigDecimal, getFieldBoolean, getFieldByte, getFieldByteArray, getFieldData, getFieldDate, getFieldDecimalFormatted, getFieldDouble, getFieldErrorMessage, getFieldFloat, getFieldInt, getFieldLong, getFieldMetaData, getFieldShort, getFieldsToInputCount, getFieldsToRetrieveCount, getFilterClass, getFoundCount, getFoundKeysArray, getIndexArray, getISOValuesDefault, getISOValuesDefault, getISOValuesDefault, getKey, getKeyFieldListIterator, getLength, getLengthInt, getLocale, getLogger, getLookupObject, getMax, getMax, getMaxRecords, getMyKeys, getMyUpdatesArray, getOffsetRecord, getPatternMatcher, getPrecision, getSerializedForm, getSizeEstimate, getStringFilter, getThisDBbj, getThisDBObj, getValidValueDescrip, getValidValues, getValidValuesList, getValues, getValuesDefault, getValuesDefault, getValuesDefault, hasError, hasErrors, haveAllKeys, initialize, isCached, isChanged, isDistinct, isEmpty, isFieldDistinct, isFieldNull, isFieldsToInput, isFieldsToRetrieve, isFieldToRetrieve, isMultiValued, isMutable, isMutable, isReadOnly, isSecret, isVirtual, loadFromConnection, logChange, max, min, newInstance, noNewLine, noQuotes, notifyListeners, populateDefaultValues, referredToBy, removeAttribute, removeFromCache, retrieveFromCache, saveBinaryField, search, set, setAttribute, setCacheLimit, setCacheLimit, setCacheLimitAsPercent, setCacheSize, setCharset, setCheckZeroUpdate, setConnection, setConnection, setCustomWhereClause, setCustomWhereClause, setDataContext, setDataField, setDataTransferObject, setDefaultValue, setDescription, setField, setField, setField, setField, setField, setField, setField, setField, setField, setField, setFieldData, setFieldData, setFieldDistinct, setFieldsToInput, setFieldsToRetrieve, setFilterClass, setFilterClass, setKey, setKeys, setLocale, setLookupField, setLookupObject, setMask, setMaxRecords, setMultiValued, setName, setOffsetRecord, setReadOnly, setSchema, setSecret, setSortKey, setStringFilter, setStringFiltersOnAll, setTargetDbSchema, setTargetTable, sqlAggrFunction, sum, toDebugString, update, updateAll, updateAll, updateIsChanged, verify
 
Methods inherited from class com.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
addInParam, addOutParam, buildWhereClause, buildWhereClauseBuffer, checkZeroUpdate, constructNewMetaData, createAndExecuteSearch, createAndRunStoreProcedure, createSQLSelectStatement, createSQLSelectStatement, getConnectionPool, getCustomStringFieldValue, getDef, getDistinctFieldArrayList, getExecutor, getFieldsToInputIterator, getFieldsToRetrieveIterator, getJDBCMetaData, getJDBCUtil, getLocalConnection, getMappedDataContext, getMetaData, getQueryInterface, getSerialForm, loadFromConnection, makeLimitationStub, quoteIfNeeded, runStoredProcedure, runStoredProcedureAndRetrieveList, selectFieldString, setCaseSensitiveQuery, setDBConnectionPool, setDBName, setMappedDataContext, setOriginalDBName, setTargetStoreProcedure
 
Methods inherited from class com.jcorporate.expresso.core.dataobjects.BaseDataObject
getGlobalMask, getStatus, isGlobalMasked, setFieldsWithDefaults, setGlobalMask, setStatus
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTRIBUTE_ID

public static final String ATTRIBUTE_ID
incrementing PK

See Also:
Constant Field Values

ATTRIBUTE_TAG

public static final String ATTRIBUTE_TAG
See Also:
Constant Field Values

NODE_ID

public static final String NODE_ID
See Also:
Constant Field Values

NODE_TYPE

public static final String NODE_TYPE
Field NODE_TYPE breaks normalization by storing data in two places, but is convenient for finding all attributes for a given node type;

See Also:
Constant Field Values
To Do:
remove this abomination; use join where only nodetype is used for searching

ATTRIBUTE_TYPE

public static final String ATTRIBUTE_TYPE
Name is internal string, type of attribute (would be PK with nodeId if we didn't save multiple attributes of same type per node ).

See Also:
Constant Field Values

ATTRIBUTE_VALUE

public static final String ATTRIBUTE_VALUE
See Also:
Constant Field Values

ATTRIBUTE_CREATED

public static final String ATTRIBUTE_CREATED
See Also:
Constant Field Values

ATTRIBUTE_MODIFIED

public static final String ATTRIBUTE_MODIFIED
See Also:
Constant Field Values

ATTRIBUTE_COMMENT

public static final String ATTRIBUTE_COMMENT
See Also:
Constant Field Values

ATTRIBUTE_PICKLIST_DISPLAY

public static final String ATTRIBUTE_PICKLIST_DISPLAY
See Also:
Constant Field Values

ATTRIBUTE_ORDER

public static final String ATTRIBUTE_ORDER
See Also:
Constant Field Values

ATTRIBUTE_DISPLAY_NAME

public static final String ATTRIBUTE_DISPLAY_NAME
For now, attribute display name is stored in subclasses of PartDescriptor, as implemented in PartDescriptor.getParts().

See Also:
Constant Field Values

ATTRIBUTE_VALUE_PREFIX

public static final String ATTRIBUTE_VALUE_PREFIX
See Also:
Constant Field Values

ATTRIBUTE_COMMENT_PREFIX

public static final String ATTRIBUTE_COMMENT_PREFIX
See Also:
Constant Field Values

ATTRIBUTE_ID_PREFIX

public static final String ATTRIBUTE_ID_PREFIX
See Also:
Constant Field Values

ATTRIBUTE_ID_UNKNOWN

public static final String ATTRIBUTE_ID_UNKNOWN
Attribute id is used to discern between multiple attributes with the same name for the same owner node. before an attribute is added to the node, this placeholder value is used to indicate that the attribute is new--unsaved as yet.

See Also:
Constant Field Values

ATTRIBUTE_DESCRIPTION

public static final String ATTRIBUTE_DESCRIPTION
See Also:
Constant Field Values

CUSTOM_ATTRIBUTE

public static final String CUSTOM_ATTRIBUTE
See Also:
Constant Field Values

TABLE_NAME

public static final String TABLE_NAME
See Also:
Constant Field Values
Constructor Detail

Attribute

public Attribute()
          throws DBException
Default constructor for Attribute creates a new object of this type with no connection yet allocated.

Throws:
DBException - If the new object cannot be created

Attribute

public Attribute(DBConnection theConnection,
                 int theUser)
          throws DBException
Constructor

Parameters:
theConnection - DBConnection to be used to communicate with the database
theUser - User name attempting to access the object
Throws:
DBException - If the user cannot access this object or the object cannot be initialized

Attribute

public Attribute(String attribId)
          throws DBException
Throws:
DBException

Attribute

public Attribute(Node parent)
          throws DBException
attribute for this parent

Throws:
DBException

Attribute

public Attribute(ReadOnlyUser theUser)
          throws DBException
Constructor

Parameters:
theUser - User name attempting to access the object
Throws:
DBException - If the user cannot access this object or the object cannot be initialized
Method Detail

setupFields

protected void setupFields()
                    throws DBException
Defines the database table name and fields for this DB object

Overrides:
setupFields in class DBObject
Throws:
DBException - if the operation cannot be performed

getField

public String getField(String fieldName)
                throws DBException
Extends the normal getField method to handle virtual fields. Note that OWNER_USERNAME requires that OWNER_ID is already retrieved and IMAGE_FILE_PATH requires IMAGE_FILE_ID.

Specified by:
getField in interface DataObject
Overrides:
getField in class DBObject
Parameters:
fieldName - Name of the database field for which a value set is requested
Returns:
The value for the field
Throws:
DBException - If the operation cannot be performed
To Do:
This code only works with Picklist_single_allowed cardinality. It doesn't handle multiple attributes or free-text attributes.

getAttribId

public String getAttribId()
                   throws DBException
Throws:
DBException

getAttribValue

public String getAttribValue()
                      throws DBException
Throws:
DBException

setAttributeId

public void setAttributeId(String id)
                    throws DBException
Throws:
DBException

getParentNodeId

public String getParentNodeId()
                       throws DBException
Throws:
DBException

getParentNode

public Node getParentNode()
                   throws DBException
Returns:
node which is parent of this attribute, or throw exception if not found.
Throws:
DBException - upon database access error.

getOrder

public String getOrder()
                throws DBException
Throws:
DBException

getAttribComment

public String getAttribComment()
                        throws DBException
Throws:
DBException

setAttributeComment

public void setAttributeComment(String comment)
                         throws DBException
Throws:
DBException

getAttribType

public String getAttribType()
                     throws DBException
Throws:
DBException

setParentNodeId

public void setParentNodeId(String parentId)
                     throws DBException
note: new nodes need BOTH id and type from parent

Throws:
DBException
See Also:
setParentNode(Node)

setParentNodeType

public void setParentNodeType(String parentType)
                       throws DBException
note: new nodes need BOTH id and type from parent

Throws:
DBException
See Also:
setParentNode(Node)

setAttributeType

public void setAttributeType(String attribType)
                      throws DBException
Throws:
DBException

getAttribCreated

public String getAttribCreated()
                        throws DBException
Throws:
DBException

getAttribModified

public String getAttribModified()
                         throws DBException
Throws:
DBException

getCustomHandler

public IPartHandler getCustomHandler()
                              throws DBException
Throws:
DBException

clone

public Attribute clone(String cloneNodeId)
                throws DBException
deep copy fields to new attribute into attribute which attaches to node with given ID; expects fully saved Attribute (with ID) as source. will treat cardinality=single attributes with care to make sure there is only one in final node (e.g., if constructor already added a "type" attrib).

side-effect: deletes this node if it is found to be impossibly valued (i.e., no part of this type w/ this parent)

Parameters:
cloneNodeId -
Returns:
cloned attribute, ALREADY SAVED and thereby holding a valid ID; null if this node is impossible to have relational integrity
Throws:
DBException - upon database access error.

clone

public Attribute clone(String cloneNodeId,
                       String destAttribType)
                throws DBException
deep copy fields to new attribute into attribute which attaches to node with given ID; expects fully saved Attribute (with ID) as source. will treat cardinality=single attributes with care to make sure there is only one in final node (e.g., if constructor already added a "type" attrib).

side-effect: deletes this node if it is found to be impossibly valued (i.e., no part of this type w/ this parent)

Parameters:
cloneNodeId -
Returns:
cloned attribute, ALREADY SAVED and thereby holding a valid ID; null if this node is impossible to have relational integrity
Throws:
DBException - upon database access error.

add

public void add()
         throws DBException
We override to set dates and provide default ordering if nec.

Specified by:
add in interface DataObject
Overrides:
add in class RowSecuredDBObject
Throws:
DBException - upon database access error.

isAllowed

public void isAllowed(String requestedFunction)
               throws SecurityException,
                      DBException
OVERRIDE to use parent node permissions

Specified by:
isAllowed in interface Securable
Overrides:
isAllowed in class SecuredDBObject
Parameters:
requestedFunction - The code of the requested function. The codes are:
  1. A: Add
  2. S: Search
  3. U: Update
  4. D: Delete
Throws:
DBException - If the requested operation is not permitted to this user
SecurityException - if the user is not allowed access to the object.

update

public void update()
            throws DBException
We override to set dates and fix ordering if nec.

Specified by:
update in interface DataObject
Overrides:
update in class RowSecuredDBObject
Throws:
DBException - upon database access error.

delete

public void delete(boolean deleteDetails)
            throws DBException
We override to provide call to handler, if any, and reorder remaining, if nec.

Overrides:
delete in class RowSecuredDBObject
Throws:
DBException - upon database access error.

updateOrder

public void updateOrder()
                 throws DBException
Update without triggering reordering; useful for 'transaction' where order of part A should be set before manipulating order of part B, as opposed to a deletion or otherwise, where reordering of all remaining is required.

Throws:
DBException - upon database access error.

getXML

public org.dom4j.Element getXML(ExpressoRequest request,
                                boolean addOrder)
                         throws DBException
Throws:
DBException

getPart

public Part getPart()
             throws DBException
Retrieve the part why which this attribute belongs to.

Returns:
Part part, or possibly null if no part is found.
Throws:
DBException - upon error.

setAttributeValue

public void setAttributeValue(String value)
                       throws DBException
Throws:
DBException

setOrder

public void setOrder(String value)
              throws DBException
Throws:
DBException

setOrder

public void setOrder(int order)
              throws DBException
Throws:
DBException

setParentNode

public void setParentNode(Node node)
                   throws DBException
Throws:
DBException

getAttribCommentRaw

public String getAttribCommentRaw()
                           throws DBException
Throws:
DBException

getAttribValueRaw

public String getAttribValueRaw()
                         throws DBException
Throws:
DBException

hasCustomHandler

public boolean hasCustomHandler()
                         throws DBException
Throws:
DBException

hasPicklist

public boolean hasPicklist()
                    throws DBException
Throws:
DBException

getOrderInt

public int getOrderInt()
                throws DBException
Throws:
DBException

getViewTrans

public Transition getViewTrans()
                        throws DBException
Provide a transition for viewing this object, suitable for creating an HTTP link.

Specified by:
getViewTrans in interface IViewable
Returns:
transition for viewing, including label for name of object;
Throws:
DBException - upon database access error.

getViewTrans

public Transition getViewTrans(Map reqParams)
                        throws DBException
Provide a transition for viewing this object, suitable for creating an HTTP link.

Returns:
transtion for viewing, including label for name of object;
Throws:
DBException - upon database access error.

getEditTrans

public Transition getEditTrans(Map reqParams)
                        throws DBException
Provide a transition for SPECIAL editing of this object, suitable for creating an HTTP link. Return null if no special editing transition

Returns:
transtion for editing, including label for name of object;
Throws:
DBException - upon database access error.

getEditTrans

public Transition getEditTrans()
                        throws DBException
Provide a transition for editing of this object, suitable for creating an HTTP link.

Returns:
transtion for editing, including label for name of object;
Throws:
DBException - upon database access error.

acceptVisitor

public void acceptVisitor(ModelVisitor visitor)
Description copied from interface: ModelVisitable
Accepts the visitor and redirects the visitor to the appropriate type we're dealing with.

Specified by:
acceptVisitor in interface ModelVisitable
Parameters:
visitor - ViewVisitor

getParentNodeType

public String getParentNodeType()
                         throws DBException
Throws:
DBException

isRowAllowed

public boolean isRowAllowed(String requestedFunction)
                     throws DBException
override to use parent node perms for attrib.

Overrides:
isRowAllowed in class RowSecuredDBObject
Parameters:
requestedFunction - code for function -- Add, Update, Delete, Search (read)
Returns:
true if this function is allowed for this requesting user
Throws:
SecurityException - (unchecked) if not allowed
DBException - for other data-related errors.

getViewComment

public Output getViewComment(Map params)
                      throws DBException
Retrieve the view comment as an output.

Parameters:
params - map of ExpressoRequest params.
Returns:
Output the resulting comment.
Throws:
DBException - upon Output construction error.

getExplicitPart

public Part getExplicitPart()
Returns the value for an explicit Part if it has been set.

Returns:
Part or null if it has never been set by any sort of factory object.

setExplicitPart

public void setExplicitPart(Part explicitPart)
Sets the part for this attribute explicitly. While this is not necessary, it can yield performance gains if set by factory objects.

Parameters:
explicitPart - Part


Copyright © 2004-2006 Codeguild, Inc.. All Rights Reserved.