planetj.dataengine.operation
Class HTMLOperation

java.lang.Object
  extended byplanetj.database.Row
      extended byplanetj.dataengine.PropertyRow
          extended byplanetj.dataengine.operation.Operation
              extended byplanetj.dataengine.operation.HTMLOperation
All Implemented Interfaces:
java.lang.Cloneable, IActionObject, IBatchProcessObject, IBusinessObject, ICSVRow, IFDFObject, IGuarded, INamedCollection, INavigationObject, IOperation, IRowCreator, IXMLObject, java.io.Serializable

public class HTMLOperation
extends Operation

HTMLOperations allow entry and viewing of straight HTML from WOW. Users can directly code in HTML in any form and the HTML is simply included in the HTML sent to browser.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class planetj.database.Row
Row.SpacingRow
 
Field Summary
 
Fields inherited from class planetj.dataengine.operation.Operation
className
 
Fields inherited from class planetj.database.Row
DISPLAY_ORDER_COMPARATOR, MODE_ALTER, MODE_COPY, MODE_DELETE, MODE_INSERT, MODE_READ, MODE_SEARCH, MODE_UNKNOWN, MODE_UPDATE, mRowEventListeners
 
Fields inherited from interface planetj.dataengine.operation.IOperation
ALLOW_DELETES, ALLOW_DETAILS, ALLOW_INSERTS, ALLOW_UPDATES, APPLICABLE_CODE_ONLY, APPLICABLE_ONLY_FOR_DISPLAY, APPLICABLE_ONLY_FOR_SQL, APPLICATION_ID, AUTHORIZE_EXECUTE_OPERATION, AUTO_RUN_ID, AUTO_RUN_STATUS, CACHE_LEVEL, CONNECTION_ALIAS, CSS_LINK_CLASS, CURRENT_FIELD, CURRENT_REQUEST, CURRENT_RESPONSE, CURRENT_ROW, CURRENT_ROW_COLLECTION, CURRENT_SERVLET, CURRENT_USER, DEPENDS_ON_ID, DESCRIPTION, DETAILS_JSP_FILE, DISPLAY_COLUMNS, DISPLAY_LOCATION, DISPLAY_LOCATION_LEFT, DISPLAY_LOCATION_TOP, DISPLAY_ORDER, DISPLAY_RULE, DISPLAY_RULE_HIDE, DISPLAY_RULE_UNKNOWN, ENCRYPTION_ID, EXECUTION_MODE, EXECUTION_MODE_NO, EXECUTION_MODE_YES, EXECUTION_RULE, EXECUTION_RULE_EXECUTE_ONLY, EXECUTION_RULE_EXECUTE_THEN_PROMPT, EXECUTION_RULE_PROMPT_THEN_EXECUTE, INSTRUCTIONS, JSP_FILE, LABEL, OPERATION_CLASS, OPERATION_CODE, OPERATION_DISPLAY_MODE, OPERATION_DISPLAY_MODE_FULL, OPERATION_DISPLAY_MODE_SKINNY, OPERATION_HTTP_ID, OPERATION_ID, OPERATION_SET, OPERATION_SQL, OPERATION_TABLE_NAME, OUTPUT_ALIAS, OWNER_ID, PARAMETERS_JSP_FILE, PARENT_ID, PERFORMACE_STATISTICS_ID, PROPERTIES, ROW_CLASS, ROW_COLLECTION_CLASS, ROW_COUNT, SECURITY_ID, SECURITY_TYPE, SET_NAME, THEME_ID, TITLE, TYPE, TYPE_ASSOCIATED_EXECUTION_GROUP, TYPE_ASSOCIATED_JAVA_OPERATION, TYPE_ASSOCIATED_JOIN, TYPE_ASSOCIATION_1_TO_1, TYPE_ASSOCIATION_1_TO_MANY, TYPE_AUTHENTICATION, TYPE_AUTO_POPULATE, TYPE_AUTORUN_BATCH_PROCESS, TYPE_AUTORUN_EMAIL, TYPE_BLOB_DOWNLOAD, TYPE_EMAIL, TYPE_EXECUTION_GROUP, TYPE_FILE_UPLOAD, TYPE_HTML_CODE, TYPE_HTML_CODE_ASSOCIATION, TYPE_HTML_REFERENCE, TYPE_HTML_REFERENCE_ASSOCIATION, TYPE_JAVA_OPERATION, TYPE_JSP_REFERENCE, TYPE_JSP_REFERENCE_ASSOCIATION, TYPE_POSSIBLE_VALUES, TYPE_POSSIBLE_VALUES_SEARCH, TYPE_POSSIBLE_VALUES_SELECTOR, TYPE_REFERER_AUTHORIZATION_OPERATION, TYPE_SQL, TYPE_TABBED, TYPE_TABBED_ASSOCIATION, TYPE_UNKNOWN, TYPE_USER_AUTHENTICATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_OPERATION, TYPE_VIEW_SELECTED_ASSOCIATION, USAGE_ID
 
Fields inherited from interface planetj.dataengine.security.IGuarded
TYPE_ID_UNKNOWN, TYPE_NAME_FIELD, TYPE_NAME_SQLOPERATION, TYPE_SECURED_BY_LEVEL, TYPE_SECURED_BY_OPERATION, TYPE_UNSECURED
 
Constructor Summary
HTMLOperation()
           
 
Method Summary
 java.lang.Object execute(Field field, Row row, ExecutingContext ec)
          Executes this operation from the given executing context and Row and returns HTML code for this Operation.
 java.lang.String getDefaultOperationCode()
          Return a default string to use on the operation field.
 java.lang.String getJspFile()
          Gets this HTMLOperation's JSP file
protected  IOperationContext getNewContextInternal(Field field, Row row, ExecutingContext ec)
          Gets a new IOperationContext for this operation.
 HTMLOperationContext getNewHTMLContext()
          Create and return a new HTMLContext to which may be executed.
 URLOperationContext getNewURLContext()
          Create and return a new HTMLContext to which may be executed.
 int insert(SQLContext context)
          Inserts this Row into its table.
 boolean isDisplayable(ExecutingContext pEc)
          Tests if a link to this operation should be displayed in the menu
 boolean isFieldApplicable(Field fld, ExecutingContext ec)
          Tests if a field is applicable in the current scenario
 boolean isFullJavaScriptCall()
          Normally the URL returned by the execute method is rendered inside of a JavaScript function call which opens a new window and navigates to that URL.
 int update(java.sql.Connection c, ExecutingContext ec)
          Updates this Row in the DB
 
Methods inherited from class planetj.dataengine.operation.Operation
adjustRequest, createAction, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createRow, createSQLContextForDelete, createSQLContextForInsert, createSQLContextForUpdate, dataTransferred, execute, execute, execute, execute, execute, getActionDefaultLocation, getActionDescriptor, getActions, getActionsForType, getApplication, getApplicationId, getApplicationIdAsInteger, getAutoRunId, getAutoRunOperation, getAutoRunStatus, getChildren, getConnectionAlias, getConnectionAlias, getConnectionRow, getConnectionRow, getCSSLinkClass, getCurrentTab, getDeleteConfirmationMessage, getDependants, getDependsOn, getDependsOnId, getDependsOnIdAsInteger, getDetailsJspFile, getDisplayColumns, getDisplayColumnsAsString, getDisplayColumnsAsStringArray, getDisplayLocation, getDisplayOrder, getDisplayRule, getExecutionRule, getFieldDefaultValue, getId, getIdAsInteger, getInstructions, getLabel, getLayoutProperties, getNavigationSuffix, getNewContext, getNewContext, getNewContextInternal, getOperationClass, getOperationCode, getOperationHandledActionNames, getOperationSetName, getOriginalInstructions, getOutputAlias, getOwnerId, getOwnerIdField, getParametersJspFile, getParent, getParentId, getParentIdAsInteger, getPropertyFieldName, getRowClass, getRowClassName, getRowCollectionClass, getRowCollectionClassName, getRowCount, getRowPropertyGroups, getSecurityId, getSecurityType, getTitle, getTitleForDisplay, getType, getUsageId, getUserMessageForOperation, hasDependants, initializeRow, isAllowDeletes, isAllowDetails, isAllowInserts, isAllowUpdates, isAssociation, isAuthentication, isAuthorizedForExecution, isAutoPopulate, isAutoRunOperation, isBlobDownload, isChild, isContextCurrent, isDependant, isDisplayRule, isExecutionGroup, isFileUpload, isHide, isHtml, isHTMLAssociation, isHtmlCode, isHtmlCodeAssocation, isHtmlReference, isHtmlReferenceAssociation, isJava, isJavaAssociation, isJSPReference, isJSPReferenceAssociation, isOneToManyAssociation, isOneToOneAssociation, isParent, isPleaseWait, isPossibleValues, isPossibleValuesSearch, isPossibleValuesSelector, isSQL, isSQLAssociation, isTabDataOperation, isUserAuthenticationListOperation, isUserAuthorizationListOperation, isUserAuthorizationOperation, isUserPromptingRequired, openForExecution, postDelete, postInsert, prepareForRun, setApplicationId, setConnectionAlias, setCurrentTab, setDefaultOperationCode, setDisplayColumns, setDisplayColumns, setDisplayColumns, setId, setId, setOperationCode, setOwnerId, setRowClass, setRowClassInternal, setRowClassName, setRowClassNameInternal, setRowCollectionClass, setRowCollectionClassInternal, setRowCollectionClassName, setRowCollectionClassNameInternal, setRowCount, setUsageId, statusChanged, toString, validate, validateOperationCode
 
Methods inherited from class planetj.dataengine.PropertyRow
getProperties, getRowPropertyGroup, getRowPropertyGroups, setProperties, setPropertiesInternal, setRowPropertyGroups, setRowPropertyGroupsInternal, transferDataTo, transferPropertiesTo
 
Methods inherited from class planetj.database.Row
add, add, addObject, addPropertyChangeListener, addPropertyChangeListener, addRowEventListener, addRowEventListeners, addTable, addToRowCollection, appendDisplayType, batchProcess, clearFields, clearTables, clearValidationException, clone, cloneRow, commitFieldValues, commitFieldValues, commitFieldValues, concatenateFieldFullLengthValues, concatenateFieldValues, containsField, copy, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonUsageIds, copyIntoRowFieldsWithGivenFieldNames, copyIntoRowFieldsWithGivenFieldNames, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, createNamedActionRequest, defaultMerge, delete, delete, delete, delete, deleteObject, divide, duplicateKey, duplicateKey, enforceExclusiveOr, equals, equals, equalsInstance, fieldHasPossibleValuesSQLOperation, firePropertyChange, fireRowEvent, getActionRequest, getActionRequest, getActionsForFields, getActionsForOperation, getAssociation, getAssociation, getAssociationByOperationUsageId, getAssociationOperation, getAttribute, getAutoIncrementDatabaseDrivenField, getBackgroundColor, getChangedFields, getColumnSpan, getCompleteRow, getCompleteRow, getConcurrentFields, getConfigProperty, getCopiedFieldValues, getCreationContext, getCSVRow, getCSVRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDBSystem, getDeleteConfirmation, getDisjointRowClass, getDisplayValue, getDisplayValueByUsageId, getDisplayValueForKey, getErrorMessageForOperation, getExternalName, getExternalNames, getFDFData, getFDTable, getField, getField, getField, getFieldAssociationOperation, getFieldCollection, getFieldDescriptor, getFieldDescriptor, getFieldDescriptor, getFieldDescriptorsWithUsage, getFieldDescriptorsWithUsageId, getFieldDescriptorWithUsageId, getFieldDisplayComponent, getFieldDisplayOrder, getFieldDisplayValue, getFieldDisplayValue, getFieldExternalName, getFieldFieldClassParameters, getFieldFieldSetName, getFieldIncrementor, getFieldMaxLength, getFieldNames, getFieldNames, getFieldPossibleValues, getFields, getFields, getFieldSearchDefaultValue, getFieldSets, getFieldsForInsert, getFieldSQLObject, getFieldStatusChange, getFieldsToDisplay, getFieldsToDisplayStrict, getFieldsToDisplayStrict, getFieldStyleClass, getFieldsWithUsageId, getFieldUsageIds, getFieldValue, getFieldValueWithUsageId, getFieldWithUsageId, getHeaderText, getHorizontalAlignment, getJSPFor, getKeyFieldNames, getKeyFields, getKeyFields, getLibraryName, getMaxFieldLengths, getMaxFieldLengths, getMaxInsertRetries, getMetaDataSystemAlias, getNamed, getNamed, getNamesOfUpdatedFields, getNavigationKey, getNavigationListKey, getNextOperationToRun, getOperation, getOperation, getOperationFromDB, getOperationFromDBByUsage, getPercentage, getPhysicalFieldNames, getPossibleValueClass, getPossibleValueClass, getPossibleValues, getPossibleValuesKey, getPossibleValuesOperation, getPropertyChangeSupport, getPropertyGroup, getPropertyGroups, getPropertyGroups, getReplacementFieldsToDisplay, getReplacementFieldsToDisplay, getRequiredFields, getRow, getRowCollection, getRowDisplayAttributes, getRowDisplayAttributes, getRowHandledActionNames, getRowKey, getSecuredTypeId, getSecuredTypeName, getSQL, getSQLContext, getStaticAttribute, getStaticAttributes, getSum, getSystemAlias, getTabbedOperation, getTable, getTable, getTableName, getTables, getTimestamp, getUpdatedFields, getUserMessageForOperation, getUseWOWLibrary, getValidationExceptions, getValueAsBoolean, getValueAsByte, getValueAsDate, getValueAsDate, getValueAsDouble, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsNumber, getValueAsShort, getValueAsString, getValueAsString, getValueAsStringByUsageId, getValueByUsageId, getValueForKey, getValues, getXMLData, getXMLData, getXMLHeaderData, goToNextOperation, handleAction, hasAssociationOperation, hasChildRows, hasMultipleStyleClasses, hasPossibleValuesKeyClassOrOp, hasPossibleValuesOperation, hasPropertyChangeListeners, incrementFieldValue, initializeRow, initializeRow, initializeRow, initializeRow, initializeRow, insert, insert, insert, is, isActionApplicable, isActionRepeatable, isARow, isARowCollection, isChanged, isChanged, isChangedRealTime, isChangedSinceLastCheck, isCloneNeeded, isContainsAllFields, isCopyable, isCurrent, isDeletable, isDistinctRow, isEditable, isEmpty, isFieldAuthorizedForEdit, isFieldAuthorizedForRead, isFieldAutoIncrement, isFieldAutoIncrementDatabaseDriven, isFieldAutoIncrementWOWDriven, isFieldDisplayable, isFieldPresent, isFieldReadOnly, isFieldReadOnlyOnSearch, isFieldRequired, isFieldRequiredOnSearch, isFieldsChanged, isFieldUpdateable, isFieldValueNotBlank, isFieldValuePossibleValue, isFieldValuesDatabaseDefaults, isGenerateChildRows, isGroupByRow, isGuarded, isHasColumnNames, isInARowCollection, isIncrementorResetAfterMaxInsertRetries, isInitializeDerivedFieldEnabled, isInitializeDerivedFieldsEnabled, isJoinedRow, isKeyFieldsPresent, isLogicalRow, isMultipleDeleteEnabled, isParameterRow, isPersistent, isPhysicalRow, isPrepareFieldValue, isPropertyChangeEventsEnabled, isReturningFromPossibleValuesSearch, isRowDisplayable, isRowKeyed, isSelectable, isStatusChange, isToBeSelected, isUnionRow, isUpdateable, isUseRowForFieldSets, isValidateDerivedFields, isValidateRequired, isValidationRequiredForAutoPopulate, isViewable, iterator, joinedDatabaseAccessFailure, joinedDelete, joinedDelete, joinedInsert, joinedInsert, joinedUpdate, joinedUpdate, merge, newField, newField, newField, newField, openFor, persist, populate, populate, populate, populateFD, postCreate, postExtract, postInsert, postUpdate, postUpdate, preDelete, preInsert, prepareForDetails, prepareForParameters, prepareForResultsDisplay, prepareFromFieldNames, preUpdate, removeField, removeField, removeNavigationKey, removePropertyChangeListener, removePropertyChangeListener, removeRowEventListener, removeRowEventListeners, replaceField, replaceFields, replaceFieldValues, replaceNumbersWithNames, reread, rereadIfNeeded, resetDisplayValues, rollbackChanges, runSQLQuery, runSQLQuery, runSQLStatement, runSQLStatement, setAttribute, setAutoUpdateFieldValues, setCreationContext, setCreationOperation, setFieldInitialValue, setFieldValue, setFieldValue, setFieldValue, setFieldValue, setFieldValueAsString, setFieldValueAsString, setFieldValuesAsDate, setFieldValuesToDefault, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonUsageIds, setFieldValueToDefault, setMultipleDeleteEnabled, setNavigationKey, setParameterRow, setPersistent, setPropertyChangeEventsEnabled, setPropertyGroups, setReturningFromPossibleValuesSearch, setRowDisplayAttributes, setSavepoint, setSavepoint, setSavepoint, setStaticAttribute, setTables, setTables, setUseWOWLibrary, setValidateDerivedFields, setValidateRequired, setValues, size, splitAndSetFieldValues, swapFieldValues, toCSV, toDOC, toDOC, toFDF, toPDF, toPDF, toString, toUpperCase, toXML, transferDataTo, update, update, update, updateFieldValues, updateGlobalValues, updateObject, validate, validate, validateField, validateRowOperation
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface planetj.dataengine.action.IActionObject
getActionRequest, getActionRequest, handleAction, isActionApplicable
 

Constructor Detail

HTMLOperation

public HTMLOperation()
Method Detail

execute

public java.lang.Object execute(Field field,
                                Row row,
                                ExecutingContext ec)
                         throws CMException
Executes this operation from the given executing context and Row and returns HTML code for this Operation.

Overrides:
execute in class Operation
Parameters:
ec - ExecutingContext in which to execute this Operation
row - Row containing values that may be used in execution of this Operation
Throws:
CMException

getDefaultOperationCode

public java.lang.String getDefaultOperationCode()
Return a default string to use on the operation field. Subclasses can override to provide a context sensitive op code.

Overrides:
getDefaultOperationCode in class Operation

getJspFile

public java.lang.String getJspFile()
Gets this HTMLOperation's JSP file

Overrides:
getJspFile in class Operation

getNewContextInternal

protected IOperationContext getNewContextInternal(Field field,
                                                  Row row,
                                                  ExecutingContext ec)
                                           throws CMException
Gets a new IOperationContext for this operation.

Overrides:
getNewContextInternal in class Operation
Throws:
CMException

getNewHTMLContext

public HTMLOperationContext getNewHTMLContext()
                                       throws CMException
Create and return a new HTMLContext to which may be executed.

Returns:
HTMLOperationContext
Throws:
CMException

getNewURLContext

public URLOperationContext getNewURLContext()
                                     throws CMException
Create and return a new HTMLContext to which may be executed.

Returns:
HTMLOperationContext
Throws:
CMException

insert

public int insert(SQLContext context)
           throws CMException
Inserts this Row into its table.

Overrides:
insert in class Operation
Returns:
The number of Rows that were inserted
Throws:
CMException

isDisplayable

public boolean isDisplayable(ExecutingContext pEc)
Tests if a link to this operation should be displayed in the menu

Overrides:
isDisplayable in class Operation

isFieldApplicable

public boolean isFieldApplicable(Field fld,
                                 ExecutingContext ec)
                          throws CMException
Tests if a field is applicable in the current scenario

Overrides:
isFieldApplicable in class Row
Parameters:
fld - The field which may or may not be applicable
Throws:
CMException

isFullJavaScriptCall

public boolean isFullJavaScriptCall()
Normally the URL returned by the execute method is rendered inside of a JavaScript function call which opens a new window and navigates to that URL. But if this method returns true, then the execute method must contain the entire javascript call (including the URL). This allows subclasses to use a different javascript method if they wish.


update

public int update(java.sql.Connection c,
                  ExecutingContext ec)
           throws CMException
Updates this Row in the DB

Overrides:
update in class Operation
Parameters:
c - The connection to use for the update
Returns:
The number of Rows that were updated
Throws:
CMException