psdi.mbo

Class MboSet

  • java.lang.Object
    • psdi.mbo.MboSet
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method and Description
      void abortSql()
      Abort the sql query currently in process.
      MboRemote add()
      Adds a new Mbo to this set at the beginning, and sets the current Mbo position to the Mbo just added.
      MboRemote add(long accessModifier)
      Adds a new object to the collection.
      protected java.lang.String addAliasForML(java.lang.String where) 
      protected static java.lang.String addAliasForML(java.lang.String where, java.lang.String entityName)
      Scan through the where clause to add alias to the ownerid field.
      MboRemote addAtEnd()
      Adds a new Mbo to this set at end, and sets the current Mbo position to the Mbo just added.
      MboRemote addAtEnd(long accessModifier)
      Adds a new object to the collection at the end.
      MboRemote addAtIndex(int ind)
      Adds a new Mbo to this set at the index, and sets the current Mbo position to the Mbo just added.
      MboRemote addAtIndex(long accessModifier, int ind)
      Adds a new object to the collection at the index specified.
      MboRemote addFakeAtEnd()
      Adds a new object to the collection at the end.
      void addFederatedMboToSorter(MboRemote mbo)
      This method is used to add a federated mbo into the sorter.
      void addJoinedAttribute(java.lang.String alias, java.lang.String qualifiedAttr)
      add a joined attribute - alias is the alias and qualifiedAttr is the db attribute name.
      protected void addMbo(Mbo mbo)
      Add a new instance of a Mbo at the end of the collection.
      protected void addMbo(Mbo mbo, int i)
      Add a new instance of a Mbo at the specified index.
      void addSubQbe(java.lang.String name, java.lang.String[] attrs, java.lang.String operator)
      Specify a list of attribute that when their QBE are set, the AND/OR operator will be the one specified,which is different than the general QBE.
      void addSubQbe(java.lang.String name, java.lang.String[] attrs, java.lang.String operator, boolean exactMatch)
      Specify a list of attribute that when their QBE are set, the AND/OR operator and exact match flag will be the one specified,which is different than the general QBE.
      void addSubQbe(java.lang.String parentQbe, java.lang.String name, java.lang.String[] attrs, java.lang.String operator)
      Specify a list of attribute that when their QBE are set, the AND/OR operator will be the one specified,which is different than the parent QBE.
      void addSubQbe(java.lang.String parentQbe, java.lang.String name, java.lang.String[] attrs, java.lang.String operator, boolean exactMatch)
      Specify a list of attribute that when their QBE are set, the AND/OR operator and exact match flag will be the one specified,which is different than the parent QBE.
      java.lang.String addToEndOfSelectStatement(boolean fetchLimitEanbled)
      Overwrite this method in the Mbo Set class to return the additional string that will be appended to the last of the select sql.
      void addWarning(MXException e)
      Add a warning to the warning list
      void addWarnings(MXException[] es)
      Add all the exceptions from an array to the warning vector
      java.lang.String appendToWhere()
      Append a value to the where clause.
      void applyAppSpecificAuthorization() 
      void applyRowSecurity()
      Check if every records in this set would be readonly and hidden according to data restriction.
      double avg(java.lang.String attributeName) 
      void canAdd()
      Can an object be added to the collection ? This is usually overriden in the specific mboset
      void cancelAndClose()
      Close the statement before cancel
      void checkMethodAccess(java.lang.String methodName)
      Check if the method name is available.
      void checkMethodAccess(java.lang.String methodName, long accessModifier)
      Check if the method name is available.
      void cleanup()
      Reset the QBE, reset, and clear its transaction.
      void clear()
      Remove all objects from the collection.
      void clearBatchedPreparedStmt(java.lang.String sql) 
      void clearBatchedPreparedStmts() 
      static void clearESigTransactionIdThread()
      Sets the esig transaction id to null.
      void clearESigTransIDForAdmin()
      This method should only be used by Admin Mode and Config DB since neither use MboSet to save/rollback transactions.
      void clearIgnoredAutokeyAttrs() 
      void clearLongOpPipe()
      Clear the long op pipe.
      void clearToBeSaved()
      The toBeSaved boolean variable is used for performance improvement.
      void clearTransactionReference()
      Set the active and potential transactiont to null.
      void clearWarnings()
      Clears the warning list.
      void close()
      Closes the object collection and releases DB resources.
      void commit()
      Makes all changes sent to the database since the last commit() or rollback() call, permanent.
      void commitTransaction(MXTransaction txn)
      Commit the object for the specified transaction
      void copy(MboSetRemote mboset)
      Mbos are copied into the mboset passed as a parameter.
      void copy(MboSetRemote mboset, long mboAddFlags)
      Mbos are copied into the mboset passed as a parameter.
      void copy(MboSetRemote sourceSet, java.lang.String[] srcAttributes, java.lang.String[] destAttributes)
      New Mbos are created in this set from the sourceSet and appropriate attribute values are copied to the mbos.
      void copyForDM(MboSetRemote mboset, int begin, int size)
      A number Mbos are copied into the mboset passed as a parameter.
      int count()
      Same as count(COUNT_EXISTING).
      int count(int countConstant)
      Returns a count of records in this MboSet.
      int countAndCleanup()
      Returns a count of records in this MboSet and calls cleanup.
      int countAndCleanup(int countConstant)
      Returns a count of records in this MboSet and calls cleanup.
      void deleteAll()
      Delete all the members of the set - be very very carefull ! The deletions are not performed in the database, until save is called.
      void deleteAll(long accessModifier)
      Delete all the objects in the set with the specified access modifiers
      void deleteAndRemove()
      Deletes and Removes the current mbo from the collection, if the mbo is newly created .
      void deleteAndRemove(int pos)
      Deletes and remove an object from the collection at the given position, if the mbo at the position is a newly created.
      void deleteAndRemove(int pos, long accessModifier)
      Deletes and remove an object from the collection at the given position, if the mbo at the position is a newly created.
      void deleteAndRemove(MboRemote mbo)
      Delets and removes a mbo object from the collection, if the mbo is newly created .
      void deleteAndRemove(MboRemote mbo, long accessModifier)
      Delets and removes a mbo object from the collection, if the mbo is newly created .
      void deleteAndRemoveAll()
      Deletes and removes all the newly created Mbos from the collection.
      void deleteAndRemoveAll(long accessModifier)
      Deletes and removes all the newly created Mbos from the collection.
      protected void deleteMbo(java.sql.Connection con, Mbo mbo)
      Fires a SQL DELETE statement Syntax: DELETE tablename WHERE whereclause
      java.util.List determineRequiredFieldsFromERM()
      Using the ERMEntity associated with this MboSet, this method will obtain a complete list of required fields that need a value.
      static java.lang.String dump(java.lang.Object object) 
      java.util.Date earliestDate(java.lang.String attributeName)
      Return the earliest date value of the specified attribute within the set.
      void enableMethod(java.lang.String methodName, boolean state)
      Enable/disable a certain method name
      void executeBatch() 
      MboRemote fetchNext()
      Fetches the next record without changing the current index.
      java.util.List findAllNullRequiredFields()
      Returns a list of ERMAttributeError for each required attribute with a null value.
      MboRemote findByIntegrationKey(java.lang.String[] integrationKeys, java.lang.String[] integrationKeyValues)
      This method is used by the integration logic to find out the mbos that are present based on an integration key.
      MboRemote findKey(java.lang.Object keyObject)
      Return the Mbo that contains the specified key from the MboSet.
      void fireEventsAfterDB(MXTransaction txn)
      fire events for all mbos in the transaction after db operation.
      void fireEventsAfterDBCommit(MXTransaction txn)
      fire events for all mbos in the transaction after db commit.
      void fireEventsBeforeDB(MXTransaction txn)
      fire events for all mbos in the transaction before db operation.
      boolean forceDBSort(java.lang.String attrName)
      Returns true if database sort is enforced for this attribute whether it's persistent or not.
      protected java.util.HashMap getAllAppAlwaysFieldFlags()
      Return all the always field flags set to all the attribute on this mboset.
      boolean getAllowQualifiedRestriction() 
      BitFlag getAlwaysFlags()
      Returns the BitFlag that represent that the records in this mbo set should always READONLY or HIDDEN by row restrictions.
      BitFlag getAlwaysFlags(java.lang.String attr) 
      java.lang.String getApp()
      Returns the name of the application using this MboSet.
      BitFlag getAppAlwaysFieldFlags(java.lang.String attr)
      Get the bitFlag stored for the always flag for the attribute, null if nothing.
      java.lang.String getAppWhere()
      Gets the application where clause.
      DataRestrictionCache.RestrictionBundle getAttrRestrictions(int levelRequested, java.lang.String attr)
      Get an array of Data Restriction objects for attribute restriction what would need to apply to the attribute of the records in this mbo set.
      boolean getBoolean(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      byte getByte(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object
      byte[] getBytes(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object
      java.util.Locale getClientLocale()
      Return the locale of the object.
      java.util.TimeZone getClientTimeZone()
      Return the time zone being used by the server
      java.lang.String getCompleteWhere()
      Get the complete Where clause that is used for fetching records to this object.
      int getCurrentPosition()
      Return the current index position in the set.
      java.util.Date getDate(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      int getDBFetchMaxRows()
      Returns the fetch limit that has been set on this MboSet.
      java.lang.String getDefaultValue(java.lang.String attribute)
      method for getting the default value for an attribute
      java.util.HashMap getDefaultValueHash()
      method for getting defaultValue hash table
      double getDouble(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      ERMEntity getERMEntity()
      Finds and returns the ERMEntity assiciated with the MbSet.
      java.lang.String getESigTransactionId()
      Returns the transaction id used for the esig.
      boolean getExcludeMeFromPropagation()
      Gets the flag to excude a mboset from propagation
      long getFlags()
      Deprecated. 
      Replaced by isFlagSet(flag)
      float getFloat(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      java.lang.String getFromClause()
      Get the from clause of a join for the multi-language in use table.
      java.util.HashSet getIgnoredAutokeyAttrs()
      Get a Hashset of attribues that are requested not to set the autokeys.
      java.lang.String getInsertCompanySet()
      Sets the insert company set for the mboset.
      java.lang.String getInsertItemSet()
      Gets the insert item set for the mboset.
      java.lang.String getInsertOrg()
      Gets the insert org for the mboset.
      java.lang.String getInsertSite()
      Gets the insert site for the mboset.
      int getInt(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      java.util.HashMap getJspDefaultValueHash()
      method for getting jsp field defaultValue hash table
      java.lang.String[] getKeyAttributes()
      Returns a list of key attributes.
      MboSetRemote getList(int row, java.lang.String attributeName)
      Get the list of valid values for an attribute for the given row
      MboSetRemote getList(java.lang.String attributeName)
      Gets the MboSet containing valid values for a specified attribute of the current Mbo in this set.
      long getLong(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      java.lang.String getMaxAppsWhere()
      Provide a application restriction where clause from maxapps table
      MaxMessage getMaxMessage(java.lang.String errGrp, java.lang.String errKey)
      Get the MaxMessage object for the specified error group and errorkey.
      MboRemote getMbo()
      Returns the current Mbo from the collection.
      MboRemote getMbo(int index)
      Return the Mbo from the specified position in the collection.
      java.lang.Object getMboCtx(java.lang.String propName) 
      MboRemote getMboForUniqueId(long id)
      Returns the mbo for the unique id.
      protected abstract Mbo getMboInstance(MboSet ms)
      Factory to create the business objects This must be overridden in derived class
      MXLogger getMboLogger()
      Returns a logger to log messages related to this business object.
      MboServerInterface getMboServer()
      Return a reference to the server.
      MboSetData getMboSetData(int row, int count, java.lang.String[] attributes)
      Return information about the MboSet and the specified attributes for the specified rows.
      MboSetData getMboSetData(java.lang.String[] attributes)
      Return information about the MboSet for the specified attributes.
      MboSetInfo getMboSetInfo()
      Return Information about the Mbo Set
      MboSetRetainMboPositionData getMboSetRetainMboPositionData()
      Returns the retain mbo position data available.
      MboSetRetainMboPositionInfo getMboSetRetainMboPositionInfo()
      Returns the retain mbo position info available.
      MboValueData getMboSetValueData(java.lang.String attribute)
      Return the MboValueData for the specified attribute.
      MboValueData[] getMboSetValueData(java.lang.String[] attribute)
      Return an arry of MboValueData objects for the specified array of attributes.
      MboValueData[][] getMboValueData(int rowStart, int rowCount, java.lang.String[] attribute)
      Get MboValueData for the specified rows and attributes.
      MboValueData getMboValueData(java.lang.String attribute)
      Return MboValueData for the current instance of a Mbo.
      MboValueData[] getMboValueData(java.lang.String[] attribute)
      Get the MboValueData for the specified array of attributes.
      MboValueInfoStatic getMboValueInfoStatic(java.lang.String attribute)
      Get MboValueInfoStatic object of the attribute.
      MboValueInfoStatic[] getMboValueInfoStatic(java.lang.String[] attribute)
      Get a list of MboValueInfoStatic for an array of attributes.
      java.lang.String getMessage(MXException ex)
      Get the message of the exception in the language specified by this MboSet's userInfo.
      java.lang.String getMessage(java.lang.String errGrp, java.lang.String errKey)
      Get the message in the language specified by this MboSet's userInfo for the error group and error key.
      java.lang.String getMessage(java.lang.String errGrp, java.lang.String errKey, java.lang.Object param)
      Get the message for the error group, error key and the parameter in the language of this MboSet's userInfo.
      java.lang.String getMessage(java.lang.String errGrp, java.lang.String errKey, java.lang.Object[] params)
      Get the message for the error group, error key and the parameter in the language of this MboSet's userInfo.
      java.lang.StringBuffer getMLFromClause(boolean useSchemaOwner)
      Get the from clause of a join for the multi-language in use table.
      java.lang.String getMultiSiteWhere()
      Provide a qualifying where clause based on this MboSet's SiteOrgType and the user Site or Org.
      MXTransaction getMXTransaction()
      Return the currently active transaction.
      java.lang.String getName()
      Return the name of the business object.
      java.lang.String getOrderBy()
      Return the Order By Clause of the collection
      MboRemote getOwner()
      Return the owner of this set.
      java.lang.String getParentApp()
      Returns the name of the application using this MboSet and any of its parents.
      java.sql.PreparedStatement getPreparedStmt(java.sql.Connection con, java.lang.String sql) 
      ProfileRemote getProfile()
      Get the security profile for this UserInfo.
      java.rmi.Remote getProxy() 
      java.lang.String[][] getQbe()
      Returns the list of attributes for which the QBE has been set and their corresponding values.
      java.lang.String getQbe(java.lang.String attribute)
      Return the current Qbe expression for the specified attribute.
      java.lang.String[] getQbe(java.lang.String[] attributes)
      Return the Qbe expressions for the specified list of attributes.
      java.lang.String getQbeSiteAuthorization()
      Check whether there is a QBE set on the MboSet on siteid.
      java.lang.String getQbeWhere() 
      java.lang.String getQualifiedWhere()
      Get the row level security's QUALIFIED where clause that would append to the complete where clause.
      int getQueryTimeout() 
      java.lang.String getRelationName()
      Returns the relationship name used to obtain this set.
      java.lang.String getRelationship()
      Return the Where clause of the relationship.
      protected int getRetainRecordLimit()
      Returns the retain record limit.
      DataRestrictionCache.RestrictionBundle getRowRestrictions(int levelRequested)
      Get an array of Data Restriction objeccts for row restriction that would need to apply to rows in the MboSet.
      MXLogger getSecurityLogger()
      Returns a logger to log security messages related to this business object.
      java.lang.StringBuffer getSelectClause() 
      java.lang.StringBuffer getSelectClause(java.util.HashMap langTableNames) 
      java.util.Vector getSelection()
      Returns a Vector of mbos marked for selection.
      java.lang.String getSelectionWhere()
      Returns the where clause for the selected Mbos.
      java.lang.String getSelectWhereClause() 
      java.lang.String getSetOrderByForUI() 
      MboSetRemote getSharedMboSet(java.lang.String objectName, java.lang.String relationship)
      This method exists so Mbos can retrieve mbosets they reference.
      int getSize()
      Return the current size of the collection.
      int getSkipFirstNRows() 
      MXLogger getSqlLogger()
      Returns a logger to log SQL messages related to this business object.
      java.lang.String getSQLOptions()
      Returns the SQL Options to be added to the select statement.
      java.lang.String getString(java.lang.String attributeName)
      Retrieves an attribute value identified by name within the current object.
      protected Translate getTranslator()
      Return the translator object which can be used to convert locale sensitive strings
      java.util.Map getTxnPropertyMap()
      Gets the property map for the transaction
      java.lang.String getUserAndQbeWhere()
      Returns the combined user where and QBE where clause in native SQL format.
      UserInfo getUserInfo()
      Return the user information for the set
      java.lang.String getUserName()
      Return user name logged into server
      java.lang.String getUserPrefWhere()
      Append a user pref where clause.
      java.lang.String getUserWhere()
      Returns the user defined where clause.
      java.lang.String getUserWhere(java.lang.String alias)
      Returns the user defined where clause.
      MXException[] getWarnings()
      Returns a list of warnings from the last method call.
      java.lang.String getWhere()
      Return the Where clause of the collection.
      MboRemote getZombie()
      Returns a 'zombie' mbo object.
      void handleMLMbo(Mbo mbo, MXTransaction txn, java.lang.String action)
      Deprecated. 
      Replaced by #handleMLMbo(Mbo, String)
      void handleMLMbo(Mbo mbo, java.lang.String action) 
      boolean hasMLQbe()
      Returns whether there are any QBE set on the attribute which is multi-language in use.
      boolean hasQbe()
      Has there been any QBE values set ?
      boolean hasWarnings()
      Are there any warnings.
      void ignoreAutokeyAttr(java.lang.String[] attrNames, boolean flag)
      Inform the system to enable or disable autokey the specified attributes when a new object is created.
      void ignoreAutokeyAttr(java.lang.String attrName, boolean flag)
      Inform the system to enable or disable autokey the specified attribute when a new object is created.
      void ignoreQbeExactMatchSet(boolean flag)
      method needed for UI to ignore QBE exact match set
      protected boolean includeRelatedMbosOfOwnersChildren()
      MboSets like WPLabor that want to show all the WPLabor records for all the owner's children should override this method and return true.
      void incrementDeletedCount(boolean inc)
      Called by Mbo in delete/undelete
      void init()
      Programmer can provide any intialization in here.
      void init(UserInfo user)
      Initialize the object.
      void initDataDictionary()
      Perform any initialization on the MboSet's data dictionary.
      protected void insertDeltaRow(java.sql.Connection con, Mbo mbo, java.lang.String tableName) 
      protected void insertMbo(java.sql.Connection con, Mbo mbo)
      Fires a SQL INSERT statement Syntax: INSERT INTO tablename (columname1, columnname2) VALUES (colValue1, colValue2)
      boolean isBasedOn(java.lang.String objectName)
      Returns true, if this business object is based on the given business object name.
      boolean isClosed()
      Returns whether the set has been closed or not.
      boolean isDeltaStorage(Mbo mbo, java.lang.String tableName) 
      boolean isDMDeploySet()
      Returns the flag if mboset is created during Deploy action of Deployement Manager set or not If the flag is set to true,it will skip mbo.validate method which will skip all field validations and appvalidate.
      boolean isDMSkipFieldValidation()
      Returns the flag if set is created during deploy action of Deployment Manager.
      boolean isDownloadSet()
      Was this MboSet created specifically for download?
      boolean isEAuditFieldModified()
      Indicates whether any of the fields enabled for electronic audit are modified by the user, for any mbo in this set.
      protected boolean isEAuditNeeded(Mbo mbo)
      Object code can override this method to flag whether eAudit is needed during save action or not.
      boolean isEmpty()
      Identifies whether this MboSet is empty.
      boolean isESigFieldModified()
      Indicates whether any of the fields enabled for electronic signature are modified by the user.
      protected boolean isESigNeeded()
      Object code can override this method to flag whether esig is needed during save action or not.
      boolean isESigNeeded(java.lang.String optionName)
      Indicates whether ESig is needed for the given option name.
      boolean isFlagSet(long flag)
      Return the state of the specified mboset flag
      boolean isIgnoreQbeExactMatchSet()
      method to find if ignore QBE exact match set or not
      protected boolean isInMemorySort() 
      boolean isJoinedAttribute(java.lang.String attr)
      returns true is this is a joined attribute and false otherwise.
      boolean isLookup() 
      boolean isNull(java.lang.String attributeName)
      Determines whether the attribute value identified by name within the current object is null.
      boolean isQbeCaseSensitive()
      Is the Qbe case sensitive ?
      boolean isQbeExactMatch()
      Is QBE an exact match ?
      boolean isRetainMboPosition()
      Is the current MboSet's mbo position to be retained?
      protected boolean isRetainRecordEnabled()
      Is the retain record feature enabled?
      boolean isTableDomainLookup()
      Returns the if mboset is a lookup or not
      java.util.Date latestDate(java.lang.String attributeName)
      Return the latest date value of the specified attribute within the set.
      MboRemote locateMbo(java.lang.String[] keys, java.lang.String[] values, int option)
      This method is provided for MEA.
      void logESigVerification(java.lang.String username, java.lang.String reason, boolean authenticatedSuccessfully)
      Logs a esig record aboout the user indicating the reason for the verification and whether the user authentication is successful or not.
      void logRowUpdatedException(MXRowUpdateException mxr)
      Logs the row has been updated by another user message with the execption stacktrace.
      double max(java.lang.String attributeName)
      Returns the maximum value of the specified attribute within the set.
      double min(java.lang.String attributeName)
      Returns the minimum value of the specified attribute within the set.
      MboRemote moveFirst()
      Positions to the first object within the collection.
      MboRemote moveLast()
      Positions to the last Object within the collection.
      MboRemote moveNext()
      Positions to the next Object found within the collection.
      MboRemote movePrev()
      Positions to the previous Object found within the collection.
      MboRemote moveTo(int pos)
      Positions to and make current the object located at the index position within the collection.
      MboRemote moveToKey(KeyValue keyVal)
      Move to the specified key in the collection and make current Mbo This can be VERY expensive on large result sets ! This should only be used where appropriate and is NOT a replacement for using QBE.
      int newMboIndex() 
      boolean notExist()
      Check if this mboset has any record.
      void positionState()
      Positions the current mbo based on the position data cached, if the data exists.
      boolean processML()
      Whether multi-language needs to be considered.
      void remove()
      Remove the current object from the collection.
      void remove(int pos)
      Remove an object from the collection at the given position.
      void remove(MboRemote mbo)
      Removes a mbo object from the collection.
      void removeAllJoinedAttributes()
      clear all joined attributes
      java.lang.Object removeCtx(java.lang.String propName) 
      void removeJoinedAttribute(java.lang.String alias)
      clear a joined attribute - based on the alias
      void reset()
      Clears the current contents of the collection.
      void resetForRefreshOnSave()
      Clears the current contents of the collection.
      void resetQbe()
      Reset the QBE for this object, i.e.
      void resetWithSelection()
      Resets the MboSet such that the MboSet contains only the selected mbos.
      void rollback()
      Discards all changes sent to the database since the last commit() or rollback() call.
      void rollbackToCheckpoint()
      Reverts to the saved value.
      void rollbackToCheckpoint(int i)
      Reverts to the saved value for the given mbo.
      void rollbackTransaction(MXTransaction txn)
      Rollback the object for the specified transaction
      void save()
      Sends changes to the database for all objects in the collection.
      void save(long flags)
      Save the object with the specified flags.
      void save(MXTransaction txn)
      Save the object using within the specified transaction.
      void save(MXTransaction txn, long flags)
      Save the transaction using the specified flags.
      void saveMbos()
      Loop through all the mbos calling save method.
      void saveTransaction(MXTransaction txn)
      Save the object on the specified transaction.
      void select(int index)
      Marks the Mbo at the specified index Selected.
      void select(int startIndex, int count)
      Marks the a set of Mbos starting from startIndex Selected.
      void select(java.util.Vector mboIndices)
      Marks a set of mbos selected by using the mbo indices.
      void selectAll()
      Marks all the Mbos in the set selected.
      void setAllowQualifiedRestriction(boolean value) 
      void setApp(java.lang.String appName)
      Sets the name of the application using this MboSet.
      void setAppAlwaysFieldFlag(java.lang.String attr, long flag, boolean state)
      Informs the mbo set that any mbo of this set will have the field flags set to the specified attribute.
      void setAppWhere(java.lang.String appWhere)
      Sets the application where clause.
      boolean setAutoKeyFlag(boolean flag)
      This method will switch on and off the flag of setting the autokey to the newly added() method when different forms of add() is called if autokey is set as the object default value.
      protected void setBindValueAsBytes(java.sql.PreparedStatement pstmt, int bindIndex, byte[] value, java.lang.String columnName)
      Sets the bind value as byte array for the specified bind index for the statement using passed-in value.
      void setDBFetchMaxRows(int fetchLimit)
      Set the fetch limit for this MboSet.
      void setDefaultOrderBy()
      Sets the order by clause to be the primary key.
      void setDefaultValue(java.lang.String attribute, MboRemote mbo)
      Set default value for this attribute to the values derived from mbo passed in
      void setDefaultValue(java.lang.String attribute, java.lang.String value)
      method for setting default values for a mboset(screen/table default) When a new object is added, the default value will be set on the attribute.
      void setDefaultValues(java.lang.String[] attributes, java.lang.String[] values)
      method for setting JSP field default values for a mboset
      void setDefaultValues(java.lang.String attribute, java.lang.String value)
      method for setting JSP field default values for a mboset
      protected void setDiscardableFlag(boolean state) 
      void setDMDeploySet(boolean flag)
      Mark the set as created during deploy action of Deployment Manager.
      void setDMSkipFieldValidation(boolean flag)
      Mark the set as created during deploy action of Deployment Manager.
      void setDownloadSet(boolean isDownloadSet) 
      void setEAuditFieldModified(boolean eAuditFieldModified)
      Sets whether any of the fields enabled for electronic audit are modified by the user, for any mbo in this set.
      void setERMEntity(ERMEntity ermEntity)
      Sets the ERMEntity of on the MboSet and sets the alwaysAppFieldFlags for each required attribute in the ERMEntity
      void setESigFieldModified(boolean eSigFieldModified)
      Sets whether any of the fields enabled for electronic signature are modified by the user.
      void setExcludeMeFromPropagation(boolean flag)
      Sets the flag to excude a mboset from propagation
      void setFederatedResources(java.lang.String federatedResourcesStr)
      Pass the string that describes the federated resources to the processor.
      void setFlag(long flag, boolean state)
      Set the mboset flags to the specified values.
      void setFlag(long flag, boolean state, MXException mxe)
      Set the mboset flags to the specified values.
      void setFlags(long flags)
      Deprecated. 
      Replaced by setFlag(long, boolean)
      void setInsertCompanySet(java.lang.String compSet)
      Sets the insert company set for the mboset.
      void setInsertItemSet(java.lang.String itemSet)
      Sets the insert item set for the mboset.
      void setInsertOrg(java.lang.String org)
      Sets the insert org for the mboset.
      void setInsertSite(java.lang.String site)
      Sets the insert site for the mboset.
      void setLastESigTransId(java.lang.String id)
      sets last esig transaction id.
      boolean setLogLargFetchResultDisabled(boolean disable)
      Pass true to disable loging of large fetch result set over a limit.
      void setMboCtx(java.lang.String propName, java.lang.Object o) 
      void setMboSetInfo(MboSetInfo ms)
      Set the MboInfo object that describes this collections Used internally.
      void setMXTransaction(MXTransaction txn)
      Sets the currently active transaction for this object.
      void setNoNeedtoFetchFromDB(boolean flag)
      Returns the flag if true indicating there is no need to query the database, the result will be empty anyway.
      protected void setNoSaveFlag(boolean state) 
      void setOrderBy(java.lang.String orderByClause)
      Sets the SQL Order By clause that will be used for the database select criteria for this object collection.
      void setOrderByNVL(java.util.Map options) 
      void setOverrideSelectClause(java.lang.StringBuffer selectClause) 
      void setOverrideSelectFromClause(java.lang.String fromClause) 
      void setOverrideSelectWhereClause(java.lang.String whereClause) 
      void setOwner(MboRemote mbo)
      Set the owner of this set.
      void setPreserveOrderByCase(boolean value)
      Set value of preserveOrderByCase, which is used in buildSelectStatement when appending the "order by" clause to the Select statement.
      void setProxy(java.rmi.Remote proxy) 
      void setQbe(java.lang.String[] attribute, java.lang.String expression)
      Similar to setQbe(String attribute, String expression), except that this will OR together the same expression for multiple attributes.
      void setQbe(java.lang.String[] attribute, java.lang.String[] expression)
      Similar to setQbe(String attribute, String expression), except that this will take array of expression and attributes.
      void setQbe(java.lang.String attribute, MboSetRemote lookup)
      Set QBE for this attribute to the values derived from the multiple selection of the lookup mbo set passed in.
      void setQbe(java.lang.String attribute, java.lang.String expression)
      Add an expression to the existing Qbe.
      void setQbe(java.lang.String attribute, java.lang.String[] expression)
      Qbe to take array of values for an attribute.
      void setQbeCaseSensitive(boolean state)
      Defines whether QBE is case sensitive.
      void setQbeCaseSensitive(java.lang.String state)
      Set the QBE to be case sensitive or not.
      void setQbeExactMatch(boolean state)
      Defines whether QBE should use exact match.
      void setQbeExactMatch(java.lang.String state)
      Set if QBE should use exact match.
      void setQbeOperatorOr()
      Set the qbe operator OR
      void setQueryBySiteQbe() 
      void setQueryTimeout(int queryTimeout) 
      void setRelationName(java.lang.String relationName)
      This method sets the relationship name used to created this set when this set is obtained from a mbo.
      void setRelationship(java.lang.String relationClause)
      Set the SQL WHERE clause that will be used to define a relationship between this object and it's parent.
      void setRequiedFlagsFromERM()
      Get the ERMEntity associated with the MboSet (if there is one) and determines if the ERMEntity has any required fields and sets the required app always Field Flag on the MboSet for each required one.
      void setRetainMboPosition(boolean retainMboPosition)
      Sets the current MboSet's mbo position to be retained after save.
      void setSetOrderByForUI(java.lang.String orderBy) 
      void setSkipFirstNRows(int skipRows)
      Set how many rows to skip when fetching from the MboSet.
      void setSQLOptions(java.lang.String sqlOptions)
      Sets the SQL Options to be added to the select statement.
      void setTableDomainLookup(boolean flag)
      Sets the tableDomainLookup flag to indicate that the this set is associated with a table domain lookup.
      void setTxnPropertyMap(java.util.Map map)
      Sets the property map for transaction
      java.io.InputStream setupLongOpPipe()
      Setup pipe for long op messages.
      void setUserWhere(java.lang.String userWhere)
      Sets the user defined where clause.
      void setUserWhereAfterParse(java.lang.String where)
      Set the user where.
      void setValue(java.lang.String attributeName, boolean val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, boolean val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifier.
      void setValue(java.lang.String attributeName, byte val)
      Sets an attribute value identified by name within the current object.
      void setValue(java.lang.String attributeName, byte[] val)
      Sets an attribute value identified by name within the current object.
      void setValue(java.lang.String attributeName, byte[] val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValue(java.lang.String attributeName, byte val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValue(java.lang.String attributeName, java.util.Date val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, java.util.Date val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValue(java.lang.String attributeName, double val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, double val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifier.
      void setValue(java.lang.String attributeName, float val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, float val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValue(java.lang.String attributeName, int val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, int val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers
      void setValue(java.lang.String attributeName, long val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, long val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifier.
      void setValue(java.lang.String attributeName, MboRemote source)
      Sets an attribute value and its related values composing the foreign key to the values of the corrensponding fields of the lookup MBO.
      void setValue(java.lang.String attributeName, MboSetRemote source)
      Sets an attribute value and its related values composing the foreign key to the values of the corrensponding fields of the current MBO of the lookup MBO set.
      void setValue(java.lang.String attributeName, short val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, short val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValue(java.lang.String attributeName, java.lang.String val)
      Sets an attribute value identified by name within the current Mbo in this set.
      void setValue(java.lang.String attributeName, java.lang.String val, long accessModifier)
      Sets an attribute value identified by name within the current object using the specified access modifiers.
      void setValueNull(java.lang.String attributeName)
      Sets an attribute value identified by name within the current object to null.
      void setValueNull(java.lang.String attributeName, long accessModifier)
      Sets an attribute value identified by name within the current object to null using the specified access modifiers.
      void setWhere(java.lang.String whereClause)
      Sets the SQL Where clause that will be used for the database select criteria for this object collection.
      void setWhereQbe(java.lang.String attribute, java.lang.String value, java.lang.String where)
      Sets the where clause for the QBE.
      MboSetRemote smartFill(int row, java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the attribute on the MBO specified by the row based on the QBE set by the value.
      MboSetRemote smartFill(java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the attribute based on the QBE set by the value.
      MboSetRemote smartFind(int row, java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the attribute on the MBO specified by the row based on the QBE set by the value.
      MboSetRemote smartFind(int row, java.lang.String objectName, java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the specified object based on the attribute value specified of this mbo.
      MboSetRemote smartFind(java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the attribute based on the QBE set by the value.
      MboSetRemote smartFind(java.lang.String objectName, java.lang.String attributeName, java.lang.String value, boolean exact)
      Get a list of valid values of the specified object based on the attribute value specified of this mbo.
      void sort() 
      static java.lang.String[] splitOrderBy(java.lang.String query)
      Split the query into two parts, first part is where clause, second part is order by clause.
      void startCheckpoint()
      Save the current value for later rollback.
      void startCheckpoint(int i)
      Save the current value for later rollback for the given mbo.
      double sum(java.lang.String attributeName)
      Returns the sum of all values for the specified attribute within the set.
      boolean toBeSaved()
      Has the collection be modified in any way so that it needs to be put in storage ?
      void undeleteAll()
      Undelete all the members of the set
      void undoTransaction(MXTransaction txn)
      Undo the transaction AFTER it has been committed.
      void unselect(int index)
      Marks the Mbo at the specified index Unselected.
      void unselect(int startIndex, int count)
      Marks the a set of Mbos starting from startIndex Unselected.
      void unselect(java.util.Vector mboIndices)
      Marks a set of mbos unselected by using the mbo indices.
      void unselectAll()
      Marks all the Mbos in the set unselected.
      protected void updateMbo(java.sql.Connection con, Mbo mbo)
      Fires a SQL UPDATE statement Syntax: UPDATE tablename SET columnname = value WHERE whereclause
      protected void updateMboSetRetainMboPositionData(MboSetRemote currentMboSet, MboSetRetainMboPositionData mboSetRetainMboPositionData)
      Updates the retain mbo position data for the set
      protected void updateRelatedMboSetRetainMboPositionData(Mbo currentMbo, MboSetRetainMboPositionData mboSetRetainMboPositionData, MboSetRetainMboPositionInfo mboSetRetainMboPositionInfo)
      Update the position data for related MboSets.
      void useStoredQuery(java.lang.String queryName)
      Uses the stored query as the user defined query that overrides the QBE.
      void validate()
      Validate all objects in the collection that have been modified.
      boolean validateTransaction(MXTransaction txn)
      validate the object for the specified transaction
      boolean verifyESig(java.lang.String loginid, java.lang.String password, java.lang.String reason)
      Verifies the loginid and password and if they are correct, then writes out an esig record.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOOKUPMAXROW

        public static int LOOKUPMAXROW
        Maximum number of rows a look up query will fetch from the database
      • mboVec

        protected java.util.Vector mboVec
        List of instanciated Mbos for the set.
      • mrdVec

        protected java.util.Vector mrdVec
        List of MboRecordData that have not yet been instanciated into Mbos.
      • toBeSaved

        protected boolean toBeSaved
      • dmDeploySet

        protected boolean dmDeploySet
        boolean to indicate that set is created during Deploy action of Deployment Manager If set to true , both field validations and appvalidate will be skipped
      • dmDeploySkipFieldValidation

        protected boolean dmDeploySkipFieldValidation
        boolean to indicate that set is created during Deploy action of Deployment Manager If set to true , both field validations and appvalidate will be skipped
      • strNoBaseLangValueEntered

        public static java.lang.String strNoBaseLangValueEntered
      • fetchStopLimitEnabled

        public static boolean fetchStopLimitEnabled
        True when fetch stop limit is enabled, default to false.
      • mboCountCleanuplist

        public static java.util.Set mboCountCleanuplist
      • perfStats

        public static java.lang.ThreadLocal perfStats
        Holds performance gathering statistics
      • maxSorterSize

        public int maxSorterSize
    • Constructor Detail

      • MboSet

        public MboSet(MboServerInterface ms)
               throws java.rmi.RemoteException
        Constructor. Needs a MboServer reference for other services. If not getting object from the MboServer, the call to the constructor should be followed by call to init().
        Throws:
        java.rmi.RemoteException
    • Method Detail

      • setNoNeedtoFetchFromDB

        public void setNoNeedtoFetchFromDB(boolean flag)
                                    throws java.rmi.RemoteException
        Returns the flag if true indicating there is no need to query the database, the result will be empty anyway.
        Specified by:
        setNoNeedtoFetchFromDB in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.setNoNeedtoFetchFromDB(boolean)
      • init

        public final void init(UserInfo user)
                        throws MXException,
                               java.rmi.RemoteException
        Initialize the object. Should be called before an object is used. If using the MboServer to instanciate the object, no need to call this. Should only be called once by the server. Programs should use reset() to reinitialize ! This is called automatically by the framework and should generally not be called by application programmers.
        Specified by:
        init in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • setProxy

        public void setProxy(java.rmi.Remote proxy)
        Specified by:
        setProxy in interface MaxRemoteProxy
      • init

        public void init()
                  throws MXException,
                         java.rmi.RemoteException
        Programmer can provide any intialization in here. Do not do anything too expensive, as this will slow down the creation of the object. Note that the parent and locale information may not have been set prior to the init() being called. If you wish to do soem processing based on the parent object, override the setOwner() method.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.setOwner(MboRemote)
      • initDataDictionary

        public void initDataDictionary()
        Perform any initialization on the MboSet's data dictionary. This will be called only once for each type of set, and can be overriden to add addiotnal fields to the object which are not stored in the database. Examples of this may be Current Balance in inventory. Always call super.initDataDictionary() and document the names of the additional attributes in the JavaDocs section of the MboSet class.
      • setApp

        public void setApp(java.lang.String appName)
                    throws java.rmi.RemoteException
        Sets the name of the application using this MboSet.
        Specified by:
        setApp in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.setApp(String appName)
      • getApp

        public java.lang.String getApp()
                                throws java.rmi.RemoteException
        Returns the name of the application using this MboSet. Could be null, if not used by any specific application. This method does not climb the MboSet hierarchy. To use the hierarchy, call getParentApp.
        Specified by:
        getApp in interface MboSetRemote
        Returns:
        App for this MboSet. Can be null.
        Throws:
        java.rmi.RemoteException
      • getParentApp

        public java.lang.String getParentApp()
                                      throws MXException,
                                             java.rmi.RemoteException
        Returns the name of the application using this MboSet and any of its parents. This method will climb the hierarchy until it finds a value for app. To check only this MboSet, call {#link #getApp getApp}.
        Specified by:
        getParentApp in interface MboSetRemote
        Returns:
        App somewhere in the MboSet hierarchy. If none found, will be null.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getParentApp()
      • getMboSetValueData

        public MboValueData getMboSetValueData(java.lang.String attribute)
                                        throws MXException,
                                               java.rmi.RemoteException
        Return the MboValueData for the specified attribute. This information can be used to get a description of the elements that make up a Mbo. Note that this does not return information that is specific to a particular instance of a Mbo, use getMboValueData if that is required.
        Parameters:
        attribute - The attribute whose characteristics are requested.
        Returns:
        MboValueData for the requested attribute. Returns null if the attribute does not exist in this Mbo.
        Throws:
        MXException
        java.rmi.RemoteException
      • getZombie

        public MboRemote getZombie()
                            throws java.rmi.RemoteException
        Returns a 'zombie' mbo object. This is used when the user wishes to get information about a Mbo when the set is empty
        Specified by:
        getZombie in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • setOwner

        public void setOwner(MboRemote mbo)
                      throws MXException,
                             java.rmi.RemoteException
        Set the owner of this set. This should only be called by the framework. This can be overridden if you wish to do some processing based on the owner of the set. This is required when setting the MboSet to be read only based on a parent record as the init() method is called prior to the owner being initialized. Always call super.setOwner() if you override this method.
        Specified by:
        setOwner in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getMboSetData

        public MboSetData getMboSetData(java.lang.String[] attributes)
                                 throws java.rmi.RemoteException
        Return information about the MboSet for the specified attributes. This will also return information about the current Row.
        Specified by:
        getMboSetData in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.getMboSetData(String[])
      • getMboSetData

        public MboSetData getMboSetData(int row,
                                        int count,
                                        java.lang.String[] attributes)
                                 throws MXException,
                                        java.rmi.RemoteException
        Return information about the MboSet and the specified attributes for the specified rows.
        Specified by:
        getMboSetData in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getMboSetValueData

        public MboValueData[] getMboSetValueData(java.lang.String[] attribute)
                                          throws MXException,
                                                 java.rmi.RemoteException
        Return an arry of MboValueData objects for the specified array of attributes.
        Specified by:
        getMboSetValueData in interface MboSetRemote
        Parameters:
        attribute - The array of attributes whose characteristics are being requested.
        Returns:
        Array of MboValueData corresponding to the requested attributes.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMboSetValueData(String[])
      • getMboValueData

        public MboValueData getMboValueData(java.lang.String attribute)
                                     throws MXException,
                                            java.rmi.RemoteException
        Return MboValueData for the current instance of a Mbo. If there is no current Mbo an exception is thrown.
        Specified by:
        getMboValueData in interface MboSetRemote
        Parameters:
        attribute - The attribute whose characteristics are requested.
        Returns:
        MboValueData for the requested attribute.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMboValueData(String)
      • getMboValueData

        public MboValueData[] getMboValueData(java.lang.String[] attribute)
                                       throws MXException,
                                              java.rmi.RemoteException
        Get the MboValueData for the specified array of attributes.
        Specified by:
        getMboValueData in interface MboSetRemote
        Parameters:
        attribute - Array of attributes whose characteristics are requested.
        Returns:
        Array of MboValueData for the requested attributes.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMboValueData(String[])
      • getMboValueData

        @TracePrimary
        public MboValueData[][] getMboValueData(int rowStart,
                                                              int rowCount,
                                                              java.lang.String[] attribute)
                                                       throws MXException,
                                                              java.rmi.RemoteException
        Get MboValueData for the specified rows and attributes. If there are not enough rows, the array returned will be shorter than rowCount.
        Specified by:
        getMboValueData in interface MboSetRemote
        Parameters:
        rowStart - The position within this MboSet of the first Mbo whose MboValueData is being requested. The row number of the first Mbo in a MboSet is 0.
        rowCount - The number of rows whose MboValueData is being requested.
        attribute - Array of attributes whose characteristics are requested.
        Returns:
        Array of MboValueData for the requested rows and attributes. First level represents the rows, second level represents the attributes within each row.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMboValueData(int, int, String[])
      • getClientLocale

        public java.util.Locale getClientLocale()
        Return the locale of the object.
      • getClientTimeZone

        public java.util.TimeZone getClientTimeZone()
        Return the time zone being used by the server
      • setWhere

        public void setWhere(java.lang.String whereClause)
        Sets the SQL Where clause that will be used for the database select criteria for this object collection. The word "where" (any case) is optional in the first 5 characters of the whereClause parameter. The Where clause takes effect when the MboSet is reset and a record is fetched.
        Specified by:
        setWhere in interface MboSetRemote
        Parameters:
        whereClause - The SQL string for the Where clause, with or without the "where" literal.
        See Also:
        MboSet.reset(), MboSet.getMbo()
      • getWhere

        public java.lang.String getWhere()
        Return the Where clause of the collection. This excludes the Qbe part and any security restrictions that have been added by the security framework. i.e. it returns whatever has been set using the setWhere() method.
        Specified by:
        getWhere in interface MboSetRemote
      • setUserWhereAfterParse

        public void setUserWhereAfterParse(java.lang.String where)
                                    throws MXException,
                                           java.rmi.RemoteException
        Set the user where. This method should be called instead setUserWhere() if the where clause is directly entered by the user through a GUI interface. This method parses the string looking for order by clause. It is more expensive than setUserWhere() and should be avoided is possible.
        Specified by:
        setUserWhereAfterParse in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.setUserWhereAfterParse(String)
      • getUserWhere

        public java.lang.String getUserWhere()
                                      throws MXException,
                                             java.rmi.RemoteException
        Returns the user defined where clause.
        Specified by:
        getUserWhere in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getUserWhere

        public java.lang.String getUserWhere(java.lang.String alias)
                                      throws MXException,
                                             java.rmi.RemoteException
        Returns the user defined where clause. This method returns the where clause in the native SQL format.
        Throws:
        MXException
        java.rmi.RemoteException
      • getUserAndQbeWhere

        public java.lang.String getUserAndQbeWhere()
                                            throws MXException,
                                                   java.rmi.RemoteException
        Returns the combined user where and QBE where clause in native SQL format.
        Specified by:
        getUserAndQbeWhere in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • splitOrderBy

        public static java.lang.String[] splitOrderBy(java.lang.String query)
        Split the query into two parts, first part is where clause, second part is order by clause. If we encounter a parsing error, or there is no order by, then return null
        Parameters:
        query -
        Returns:
      • setSQLOptions

        public void setSQLOptions(java.lang.String sqlOptions)
                           throws java.rmi.RemoteException
        Sets the SQL Options to be added to the select statement. The SQL Options takes effect when the MboSet is reset and a record is fetched.
        Specified by:
        setSQLOptions in interface MboSetRemote
        Parameters:
        sqlOptions - The SQL options for the select stmt,
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.reset(), MboSet.getMbo()
      • getSQLOptions

        public java.lang.String getSQLOptions()
                                       throws java.rmi.RemoteException
        Returns the SQL Options to be added to the select statement.
        Specified by:
        getSQLOptions in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • findKey

        public MboRemote findKey(java.lang.Object keyObject)
                          throws MXException,
                                 java.rmi.RemoteException
        Return the Mbo that contains the specified key from the MboSet. Callers can pass in either a string containing the key, or an array of strings for multipart keys. Returns null if the Mbo is not found. The isEmpty() call can be used to see if the resulting MboSet contained the key.
        Specified by:
        findKey in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • setRelationship

        public void setRelationship(java.lang.String relationClause)
        Set the SQL WHERE clause that will be used to define a relationship between this object and it's parent. For example, the work order for assetnum 11430 would call this method on the asset object passing assetnum = 11430. This should not be called directly as it is called by the framework.
        Specified by:
        setRelationship in interface MboSetRemote
      • getRelationship

        public java.lang.String getRelationship()
        Return the Where clause of the relationship.
        Specified by:
        getRelationship in interface MboSetRemote
      • setOrderBy

        public void setOrderBy(java.lang.String orderByClause)
                        throws MXException
        Sets the SQL Order By clause that will be used for the database select criteria for this object collection. Will take effect when the first record in the set is fetched. If you are already fetching, you will need to call reset().
        Specified by:
        setOrderBy in interface MboSetRemote
        Parameters:
        orderByClause - The SQL for the Order By clause, without the literal "orderby".
        Throws:
        MXException
        See Also:
        MboSet.reset(), MboSet.getMbo()
      • setOrderByNVL

        public void setOrderByNVL(java.util.Map options)
                           throws MXException,
                                  java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • getOrderBy

        public java.lang.String getOrderBy()
        Return the Order By Clause of the collection
        Specified by:
        getOrderBy in interface MboSetRemote
      • setPreserveOrderByCase

        public void setPreserveOrderByCase(boolean value)
                                    throws java.rmi.RemoteException
        Set value of preserveOrderByCase, which is used in buildSelectStatement when appending the "order by" clause to the Select statement. This defaults to false because normally the "order by" members are column names that should be converted to lower case. PreserveOrderByCase sould be set to True only if the "order by" contains something unusual like a CASE statement.
        Throws:
        java.rmi.RemoteException
      • moveToKey

        public MboRemote moveToKey(KeyValue keyVal)
                            throws MXException,
                                   java.rmi.RemoteException
        Move to the specified key in the collection and make current Mbo This can be VERY expensive on large result sets ! This should only be used where appropriate and is NOT a replacement for using QBE.
        Throws:
        MXException
        java.rmi.RemoteException
      • moveNext

        public MboRemote moveNext()
                           throws MXException,
                                  java.rmi.RemoteException
        Positions to the next Object found within the collection. Returns the next Mbo. If already at the end of the set, or if the set is empty, then null is returned.
        Specified by:
        moveNext in interface MboSetRemote
        Returns:
        The next MboRemote in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMbo(int)
      • movePrev

        public MboRemote movePrev()
                           throws MXException,
                                  java.rmi.RemoteException
        Positions to the previous Object found within the collection. Returns the previous Mbo. If already at the beginning of the set, or if the set is empty, then null is returned.
        Specified by:
        movePrev in interface MboSetRemote
        Returns:
        The previous MboRemote in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMbo(int)
      • moveFirst

        public MboRemote moveFirst()
                            throws MXException,
                                   java.rmi.RemoteException
        Positions to the first object within the collection. If the collection is empty, null is returned.
        Specified by:
        moveFirst in interface MboSetRemote
        Returns:
        The first MboRemote in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMbo(int)
      • moveTo

        public MboRemote moveTo(int pos)
                         throws MXException,
                                java.rmi.RemoteException
        Positions to and make current the object located at the index position within the collection. Will return null if there is no record at that position.
        Specified by:
        moveTo in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMbo(int)
      • getCurrentPosition

        public int getCurrentPosition()
        Return the current index position in the set.
        Specified by:
        getCurrentPosition in interface MboSetRemote
      • getMbo

        public MboRemote getMbo()
        Returns the current Mbo from the collection. If the set has just been assembled, this will be the first member of the set. If the set is empty, then null is returned.
        Specified by:
        getMbo in interface MboSetRemote
        Returns:
        The current MboRemote.
        See Also:
        MboSet.reset()
      • getMboInstance

        protected abstract Mbo getMboInstance(MboSet ms)
                                       throws MXException,
                                              java.rmi.RemoteException
        Factory to create the business objects This must be overridden in derived class
        Throws:
        MXException
        java.rmi.RemoteException
      • getName

        public final java.lang.String getName()
        Return the name of the business object. The business object name is set from the database i.e. maximo data dictionary. Hence this method is final and should not be defined by the extended object.
        Specified by:
        getName in interface MboSetRemote
      • processML

        public boolean processML()
                          throws MXException,
                                 java.rmi.RemoteException
        Whether multi-language needs to be considered. It returns true if maxvar MLSUPPORTED is true, the mboset has attribute whose ismlinuse is true, and the userInfo's language is not the same as the base language.
        Specified by:
        processML in interface MboSetRemote
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • getSelectWhereClause

        public java.lang.String getSelectWhereClause()
                                              throws MXException,
                                                     java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • getSelectClause

        public java.lang.StringBuffer getSelectClause()
                                               throws MXException,
                                                      java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • getSelectClause

        public java.lang.StringBuffer getSelectClause(java.util.HashMap langTableNames)
                                               throws MXException,
                                                      java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • setOverrideSelectClause

        public void setOverrideSelectClause(java.lang.StringBuffer selectClause)
      • setOverrideSelectFromClause

        public void setOverrideSelectFromClause(java.lang.String fromClause)
      • setOverrideSelectWhereClause

        public void setOverrideSelectWhereClause(java.lang.String whereClause)
      • addAliasForML

        protected java.lang.String addAliasForML(java.lang.String where)
      • addAliasForML

        protected static java.lang.String addAliasForML(java.lang.String where,
                                                        java.lang.String entityName)
        Scan through the where clause to add alias to the ownerid field. This is a method used by the temporary solution to the problem when L_ table has the same colomn name as the main table and this column on the main table is used directly in the where clause.
        Parameters:
        where -
        Returns:
      • getFromClause

        public java.lang.String getFromClause()
                                       throws MXException,
                                              java.rmi.RemoteException
        Get the from clause of a join for the multi-language in use table.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • getMLFromClause

        public java.lang.StringBuffer getMLFromClause(boolean useSchemaOwner)
                                               throws MXException,
                                                      java.rmi.RemoteException
        Get the from clause of a join for the multi-language in use table.
        Specified by:
        getMLFromClause in interface MboSetRemote
        Parameters:
        useSchemaOwner, - should schema owner as the prefix for the table name.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • isInMemorySort

        protected boolean isInMemorySort()
      • forceDBSort

        public boolean forceDBSort(java.lang.String attrName)
        Returns true if database sort is enforced for this attribute whether it's persistent or not. This is a special case for LABTRANS.STARTDATE, LABTRANS.FINISHDATE,LABTRANS.STARTTIME, LABTRANS.FINISHDATE. Do not override this method unless it's similar case.
        Parameters:
        attrName -
        Returns:
      • appendToWhere

        public java.lang.String appendToWhere()
                                       throws MXException,
                                              java.rmi.RemoteException
        Append a value to the where clause. This called by the framework to allow any app specific modifications to the whereClause. An implementation of the a MboSet can override this method.
        Throws:
        MXException
        java.rmi.RemoteException
      • getUserPrefWhere

        public java.lang.String getUserPrefWhere()
        Append a user pref where clause. This called by the framework to allow any app specific modifications to the whereClause. An implementation of the a MboSet can override this method.
      • count

        public int count()
                  throws MXException,
                         java.rmi.RemoteException
        Same as count(COUNT_EXISTING).
        Specified by:
        count in interface MboSetRemote
        Returns:
        The count as described for count(COUNT_EXISTING). Equals the sum of the count from the database plus newly added Mbos that have not yet been saved.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.count(int)
      • count

        public int count(int countConstant)
                  throws MXException,
                         java.rmi.RemoteException
        Returns a count of records in this MboSet. The countConstant parameter is a constant from psdi.mbo.MboConstants.
        Specified by:
        count in interface MboSetRemote
        Parameters:
        countConstant - one of the constants from psdi.mbo.MboConstants. The list below shows each constant and describes the count returned for each.
        • COUNT_DATABASE -- The count from the database.
        • COUNT_ADDITIONS -- The count of newly added Mbos that have not yet been saved.
        • COUNT_DELETED -- The count of Mbos marked for deletion that have not yet been saved.
        • COUNT_EXISTING -- The sum of the count from the database (COUNT_DATABASE) plus newly added Mbos that have not yet been saved (COUNT_ADDITIONS).
        • COUNT_AFTERSAVE -- The number of Mbos that is anticipated to be in this MboSet after saving. Equals the sum of the count from the database (COUNT_DATABASE) plus newly added Mbos that have not yet been saved (COUNT_ADDITIONS) minus Mbos marked for deletion that have not yet been saved (COUNT_DELETED).
        Returns:
        The count. The count returned depends on the input parameter.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboConstants
      • incrementDeletedCount

        public void incrementDeletedCount(boolean inc)
        Called by Mbo in delete/undelete
        Specified by:
        incrementDeletedCount in interface MboSetRemote
      • avg

        public double avg(java.lang.String attributeName)
                   throws MXException,
                          java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • sum

        public double sum(java.lang.String attributeName)
                   throws MXException,
                          java.rmi.RemoteException
        Returns the sum of all values for the specified attribute within the set. Supports only numeric datatypes. Does not include Mbos that are marked for deletion.
        Specified by:
        sum in interface MboSetRemote
        Parameters:
        attributeName - The attribute to be summed.
        Returns:
        The sum of attribute across all Mbos in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.sum(String attribute)
      • max

        public double max(java.lang.String attributeName)
                   throws MXException,
                          java.rmi.RemoteException
        Returns the maximum value of the specified attribute within the set. Currently only numeric types are supported. Does not include Mbos that are marked for deletion.
        Specified by:
        max in interface MboSetRemote
        Parameters:
        attributeName - The attribute to be maxed.
        Returns:
        The maximum value of attribute across all Mbos in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.latestDate(java.lang.String)
      • min

        public double min(java.lang.String attributeName)
                   throws MXException,
                          java.rmi.RemoteException
        Returns the minimum value of the specified attribute within the set. Currently this method only supports numeric types. Does not include Mbos that are marked for deletion.
        Specified by:
        min in interface MboSetRemote
        Parameters:
        attributeName - The attribute to be min'ed.
        Returns:
        The minimum value of this attribute for all Mbos in this set.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.earliestDate(java.lang.String)
      • isEmpty

        public final boolean isEmpty()
                              throws MXException,
                                     java.rmi.RemoteException
        Identifies whether this MboSet is empty. (Even if the only Mbo is marked for deletion, the set is not empty.)
        Specified by:
        isEmpty in interface MboSetRemote
        Returns:
        True if this MboSet is or would be empty, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.notExist()
      • notExist

        public final boolean notExist()
                               throws MXException,
                                      java.rmi.RemoteException
        Check if this mboset has any record. If the set has not been fetched, it executes an exists query on the object. Different from isEmpty() call, which attempt to fetch one record from the set. If you know the set potentially can be large, the query can take a long time, or the chance of it not having any record is big, then use noExist() call, which would be more efficient. The method will always return false if the set is never fetched and then already closed when this method is called.
        Specified by:
        notExist in interface MboSetRemote
        Returns:
        True if this MboSet is or would be empty (no records); False if not empty (has records)
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.notExist()
      • canAdd

        public void canAdd()
                    throws MXException
        Can an object be added to the collection ? This is usually overriden in the specific mboset
        Throws:
        MXException
      • deleteAll

        public void deleteAll()
                       throws MXException,
                              java.rmi.RemoteException
        Delete all the members of the set - be very very carefull ! The deletions are not performed in the database, until save is called. If any one of the objects in the collection fails, the undelete method will be called on each object that had been deleted.
        Specified by:
        deleteAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.deleteAll()
      • deleteAll

        public void deleteAll(long accessModifier)
                       throws MXException,
                              java.rmi.RemoteException
        Delete all the objects in the set with the specified access modifiers
        Specified by:
        deleteAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • addFakeAtEnd

        public final MboRemote addFakeAtEnd()
                                     throws MXException,
                                            java.rmi.RemoteException
        Adds a new object to the collection at the end. It does not perform any initialization or validation. This method is used by deployment manager when recreating mbos for exports.
        Specified by:
        addFakeAtEnd in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.addFakeAtEnd()
      • addAtIndex

        @TracePrimary
        public MboRemote addAtIndex(long accessModifier,
                                                  int ind)
                                           throws MXException,
                                                  java.rmi.RemoteException
        Adds a new object to the collection at the index specified. Use the SetValue() methods to set attribute values. The next time the save() method is called, this object will be saved to the database. This is the base add method, used by all the other versions. In some MboSet sub-classes, this method is overridden.
        Specified by:
        addAtIndex in interface MboSetRemote
        Parameters:
        accessModifier - Determines whether an access check is made.
        ind - Where to add the new Mbo. Zero is the beginning, while -1 will put the Mbo at the end of the MboSet.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.getMboInstance(psdi.mbo.MboSet), MboSet.addMbo(Mbo), MboSet.addMbo(Mbo, int), MboSet.moveTo(int)
      • clear

        public void clear()
                   throws MXException,
                          java.rmi.RemoteException
        Remove all objects from the collection. This does not remove the object from the database, in order to remove the object from the database, use delete method.
        Specified by:
        clear in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • remove

        @TraceSecondary
        public void remove()
                                    throws MXException,
                                           java.rmi.RemoteException
        Remove the current object from the collection. This does not remove the object from the database, in order to remove the object from the database, use delete method.
        Specified by:
        remove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • remove

        @TraceSecondary
        public void remove(int pos)
                                    throws MXException,
                                           java.rmi.RemoteException
        Remove an object from the collection at the given position. This does not remove the object from the database, in order to remove the object from the database, use delete method.
        Specified by:
        remove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • remove

        @TraceSecondary
        public void remove(MboRemote mbo)
                                    throws MXException,
                                           java.rmi.RemoteException
        Removes a mbo object from the collection. This does not remove the object from the database, in order to remove the object from the database, use delete method.
        Specified by:
        remove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemove

        public void deleteAndRemove()
                             throws MXException,
                                    java.rmi.RemoteException
        Deletes and Removes the current mbo from the collection, if the mbo is newly created .
        Specified by:
        deleteAndRemove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemove

        public void deleteAndRemove(int pos)
                             throws MXException,
                                    java.rmi.RemoteException
        Deletes and remove an object from the collection at the given position, if the mbo at the position is a newly created.
        Specified by:
        deleteAndRemove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemove

        public void deleteAndRemove(int pos,
                                    long accessModifier)
                             throws MXException,
                                    java.rmi.RemoteException
        Deletes and remove an object from the collection at the given position, if the mbo at the position is a newly created.
        Specified by:
        deleteAndRemove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemove

        public void deleteAndRemove(MboRemote mbo)
                             throws MXException,
                                    java.rmi.RemoteException
        Delets and removes a mbo object from the collection, if the mbo is newly created .
        Specified by:
        deleteAndRemove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemove

        public void deleteAndRemove(MboRemote mbo,
                                    long accessModifier)
                             throws MXException,
                                    java.rmi.RemoteException
        Delets and removes a mbo object from the collection, if the mbo is newly created .
        Specified by:
        deleteAndRemove in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemoveAll

        public void deleteAndRemoveAll()
                                throws MXException,
                                       java.rmi.RemoteException
        Deletes and removes all the newly created Mbos from the collection. This method is designed to be called to make the newly added mbos removed from the collection, thus won't be displayed on the GUI at all, but the deleting logic of these mbos are still being executed. This method is intended to be called only when there are no saved mbos in the mboset. However, if there are saved mbos, the state of those mbos are not affected. If a user wants to have those saved mbos further deleted or removed, deleteAll() or clear() can be called after this method is called on this Mbo set.
        Specified by:
        deleteAndRemoveAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • deleteAndRemoveAll

        public void deleteAndRemoveAll(long accessModifier)
                                throws MXException,
                                       java.rmi.RemoteException
        Description copied from interface: MboSetRemote
        Deletes and removes all the newly created Mbos from the collection. This method is designed to be called to make the newly added mbos removed from the collection, thus won't be displayed on the GUI at all, but the deleting logic of these mbos are still being executed. This method is intended to be called only when there are no saved mbos in the mboset. However, if there are saved mbos, the state of those mbos are not affected. If a user wants to have those saved mbos further deleted or removed, deleteAll() or clear() can be called after this method is called on this Mbo set.
        Specified by:
        deleteAndRemoveAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • toBeSaved

        public boolean toBeSaved()
                          throws java.rmi.RemoteException
        Has the collection be modified in any way so that it needs to be put in storage ?
        Specified by:
        toBeSaved in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • close

        public void close()
                   throws MXException,
                          java.rmi.RemoteException
        Closes the object collection and releases DB resources. All methods can still be called, next, previous etc. will only work with the collection that had been retrieved before the set was closed. It is a good idea to fetch all objects and call close when working with small sets.
        Specified by:
        close in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • cancelAndClose

        public void cancelAndClose()
                            throws MXException,
                                   java.rmi.RemoteException
        Close the statement before cancel
        Throws:
        MXException
        java.rmi.RemoteException
      • isClosed

        public boolean isClosed()
        Returns whether the set has been closed or not.
      • reset

        public void reset()
                   throws MXException,
                          java.rmi.RemoteException
        Clears the current contents of the collection. This will cause a requery to the database. Save changes you wish to keep before calling this method. All linked Mbos and MboSets are closed.
        Specified by:
        reset in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.save()
      • clearToBeSaved

        public void clearToBeSaved()
        The toBeSaved boolean variable is used for performance improvement. It may have been set True in the toBeSaved method based on a child set having been modified. When the chlid set is cleared, this sets the parent set's flag back to false. This method prevents "false positives" (i.e. it prevents the "Do you want to save?" message from appearing when nothing was actually changed).

        If you have a MboSet that need to keep this flag set even when child sets are being reset and the owner has no direct changes, then this method can be overridden to do nothing. This is the case, for example, in Receiving, where overridden for POSet.

        See Also:
        MboSet.toBeSaved()
      • resetForRefreshOnSave

        public void resetForRefreshOnSave()
                                   throws MXException,
                                          java.rmi.RemoteException
        Clears the current contents of the collection. All linked Mbos and MboSets are closed.
        Throws:
        MXException
        java.rmi.RemoteException
      • commit

        @TracePrimary
        public void commit()
                                  throws MXException,
                                         java.rmi.RemoteException
        Makes all changes sent to the database since the last commit() or rollback() call, permanent. Changes made to other objects sharing this object's Connection will also become permanent. This is called automatically by the framework and should not be called directly by the programmer.
        Specified by:
        commit in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • rollback

        @TracePrimary
        public void rollback()
                                    throws MXException,
                                           java.rmi.RemoteException
        Discards all changes sent to the database since the last commit() or rollback() call. Changes made to other objects sharing this object's Connection will also be discarded. This is called automatically by the framework and should not be called directly by the programmer.
        Specified by:
        rollback in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • validate

        public void validate()
                      throws MXException,
                             java.rmi.RemoteException
        Validate all objects in the collection that have been modified. Called by the system prior to saving
        Specified by:
        validate in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getList

        public MboSetRemote getList(java.lang.String attributeName)
                             throws MXException,
                                    java.rmi.RemoteException
        Gets the MboSet containing valid values for a specified attribute of the current Mbo in this set. For example, if tableX.assetnum must be valid on the Asset table (Asset.assetnum), then tableX.getList(String attributeName) will return a set of Asset. To obtain the actual values of each assetnum in that set, you must call Mbo.getString("assetnum") or a similar method for each member of the set. getList(String attributeName) will return null if no valid values can be identified. Calling MboSet.getList(String attributeName) is the same as calling Mbo.getList(String attribute) for the current Mbo. Typically, the way you define a list of valid values is via a field validation class for a given MboSet and attribute. The field validation classes are registered on the database in maxsyscolumns2.customclassname.
        Specified by:
        getList in interface MboSetRemote
        Parameters:
        attributeName - The attribute for which you want the list of valid values.
        Returns:
        The MboSet containing the domain of valid values for the requested attribute.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getString(java.lang.String, java.lang.String), Mbo.getList(String)
      • getList

        public MboSetRemote getList(int row,
                                    java.lang.String attributeName)
                             throws MXException,
                                    java.rmi.RemoteException
        Get the list of valid values for an attribute for the given row
        Specified by:
        getList in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • smartFill

        public MboSetRemote smartFill(java.lang.String attributeName,
                                      java.lang.String value,
                                      boolean exact)
                               throws MXException,
                                      java.rmi.RemoteException
        Get a list of valid values of the attribute based on the QBE set by the value. If there is only one valid value, the values will be set to the record.
        Specified by:
        smartFill in interface MboSetRemote
        Parameters:
        attributeName -
        value -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.smartFill(String, String, boolean);
      • smartFind

        public MboSetRemote smartFind(java.lang.String attributeName,
                                      java.lang.String value,
                                      boolean exact)
                               throws MXException,
                                      java.rmi.RemoteException
        Get a list of valid values of the attribute based on the QBE set by the value. If there is only one valid value, the values will not be set to the record.
        Specified by:
        smartFind in interface MboSetRemote
        Parameters:
        attributeName -
        value -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.smartFind(String, String, boolean);
      • smartFill

        public MboSetRemote smartFill(int row,
                                      java.lang.String attributeName,
                                      java.lang.String value,
                                      boolean exact)
                               throws MXException,
                                      java.rmi.RemoteException
        Get a list of valid values of the attribute on the MBO specified by the row based on the QBE set by the value. If there is only one valid value, the values will be set to the record.
        Specified by:
        smartFill in interface MboSetRemote
        Parameters:
        attributeName -
        value -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.smartFill(int, String, String, boolean);
      • smartFind

        public MboSetRemote smartFind(int row,
                                      java.lang.String objectName,
                                      java.lang.String attributeName,
                                      java.lang.String value,
                                      boolean exact)
                               throws MXException,
                                      java.rmi.RemoteException
        Get a list of valid values of the specified object based on the attribute value specified of this mbo.
        Parameters:
        attributeName -
        value -
        objectName -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • smartFind

        public MboSetRemote smartFind(int row,
                                      java.lang.String attributeName,
                                      java.lang.String value,
                                      boolean exact)
                               throws MXException,
                                      java.rmi.RemoteException
        Get a list of valid values of the attribute on the MBO specified by the row based on the QBE set by the value. If there is only one valid value, the values will not be set to the record.
        Parameters:
        attributeName -
        value -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • getString

        public java.lang.String getString(java.lang.String attributeName)
                                   throws MXException,
                                          java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getString(String).
        Specified by:
        getString in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The String value of the attribute. If the attribute does not support conversion to String, an exception will be thrown. Returns the string value of the attribute, in locale format.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getString(String)
      • getBoolean

        public boolean getBoolean(java.lang.String attributeName)
                           throws MXException,
                                  java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getBoolean(String).
        Specified by:
        getBoolean in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The boolean value of the attribute. If the attribute does not support conversion to boolean, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getBoolean(String)
      • getByte

        public byte getByte(java.lang.String attributeName)
                     throws MXException,
                            java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object
        Specified by:
        getByte in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • getInt

        public int getInt(java.lang.String attributeName)
                   throws MXException,
                          java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getInt(String).
        Specified by:
        getInt in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The integer value of the attribute. If the attribute does not support conversion to int, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getInt(String)
      • getLong

        public long getLong(java.lang.String attributeName)
                     throws MXException,
                            java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getLong(String).
        Specified by:
        getLong in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The long value of the attribute. If the attribute does not support conversion to long, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getLong(String)
      • getFloat

        public float getFloat(java.lang.String attributeName)
                       throws MXException,
                              java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getFloat(String).
        Specified by:
        getFloat in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The float value of the attribute. If the attribute does not support conversion to float, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getFloat(String)
      • getDouble

        public double getDouble(java.lang.String attributeName)
                         throws MXException,
                                java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getDouble(String).
        Specified by:
        getDouble in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The double value of the attribute. If the attribute does not support conversion to double, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getDouble(String)
      • getDate

        public java.util.Date getDate(java.lang.String attributeName)
                               throws MXException,
                                      java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object. Same as Mbo.getDate(String).
        Specified by:
        getDate in interface MboAccessInterface
        Parameters:
        attributeName - The name of the attribute whose value should be retrieved.
        Returns:
        The java.util.Date value of the attribute. If the attribute does not support conversion to Date, an exception will be thrown.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.getDate(String)
      • getBytes

        public byte[] getBytes(java.lang.String attributeName)
                        throws MXException,
                               java.rmi.RemoteException
        Retrieves an attribute value identified by name within the current object
        Specified by:
        getBytes in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • isNull

        public boolean isNull(java.lang.String attributeName)
                       throws MXException,
                              java.rmi.RemoteException
        Determines whether the attribute value identified by name within the current object is null.
        Specified by:
        isNull in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValueNull

        public void setValueNull(java.lang.String attributeName,
                                 long accessModifier)
                          throws MXException,
                                 java.rmi.RemoteException
        Sets an attribute value identified by name within the current object to null using the specified access modifiers.
        Specified by:
        setValueNull in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             java.lang.String val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.

        For Date, Datetime and Time fields:- This will use the locale and timezone of the UserInfo object with which this MboSet is created.

        For boolean fields :- This will use the Y or N values for the server location. In order to avoid abiguity, the client should call setValue() passing a boolean value, rather than a string.

        For synonym value attributes (string datatype), the value can be passed with the "!" prefix and suffix, and this function will substitute the appropriate translated external default value for the attribute. for example: "!WAPPR!" will update the field contents with the synonym value of WAPPR.

        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, String)
      • setValue

        public void setValue(java.lang.String attributeName,
                             java.lang.String val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             boolean val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, boolean)
      • setValue

        public void setValue(java.lang.String attributeName,
                             boolean val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifier.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             byte val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             byte val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             short val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, short)
      • setValue

        public void setValue(java.lang.String attributeName,
                             short val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             int val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, int)
      • setValue

        public void setValue(java.lang.String attributeName,
                             int val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             long val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, long)
      • setValue

        public void setValue(java.lang.String attributeName,
                             long val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifier.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             float val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, float)
      • setValue

        public void setValue(java.lang.String attributeName,
                             float val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             double val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current Mbo in this set.
        Specified by:
        setValue in interface MboAccessInterface
        Parameters:
        attributeName -
        val - Value to be set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.setValue(String, double)
      • setValue

        public void setValue(java.lang.String attributeName,
                             double val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifier.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             byte[] val)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             byte[] val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             java.util.Date val,
                             long accessModifier)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value identified by name within the current object using the specified access modifiers.
        Specified by:
        setValue in interface MboAccessInterface
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             MboSetRemote source)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value and its related values composing the foreign key to the values of the corrensponding fields of the current MBO of the lookup MBO set.
        Parameters:
        attributeName -
        source - look MBO set.
        Throws:
        MXException
        java.rmi.RemoteException
      • setValue

        public void setValue(java.lang.String attributeName,
                             MboRemote source)
                      throws MXException,
                             java.rmi.RemoteException
        Sets an attribute value and its related values composing the foreign key to the values of the corrensponding fields of the lookup MBO.
        Parameters:
        attributeName -
        source - lookup MBO.
        Throws:
        MXException
        java.rmi.RemoteException
      • setMboSetInfo

        public void setMboSetInfo(MboSetInfo ms)
                           throws java.rmi.RemoteException
        Set the MboInfo object that describes this collections Used internally.
        Specified by:
        setMboSetInfo in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • getMboServer

        public MboServerInterface getMboServer()
        Return a reference to the server.
      • getTranslator

        protected Translate getTranslator()
        Return the translator object which can be used to convert locale sensitive strings
      • getUserInfo

        public UserInfo getUserInfo()
                             throws java.rmi.RemoteException
        Return the user information for the set
        Specified by:
        getUserInfo in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • setQbe

        @TracePrimary
        public void setQbe(java.lang.String attribute,
                                         java.lang.String[] expression)
                                  throws MXException,
                                         java.rmi.RemoteException
        Description copied from interface: MboSetRemote
        Qbe to take array of values for an attribute.
        Specified by:
        setQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • setQbeExactMatch

        public void setQbeExactMatch(java.lang.String state)
                              throws java.rmi.RemoteException
        Set if QBE should use exact match. Valid parameters are "true" or "false".
        Specified by:
        setQbeExactMatch in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • setQbeExactMatch

        public void setQbeExactMatch(boolean state)
                              throws java.rmi.RemoteException
        Defines whether QBE should use exact match. Default is NOT an exact match.
        Specified by:
        setQbeExactMatch in interface MboSetRemote
        Parameters:
        state - true = exact match, false = not exact match (default)
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.setQbeExactMatch(boolean)
      • ignoreQbeExactMatchSet

        public void ignoreQbeExactMatchSet(boolean flag)
                                    throws MXException,
                                           java.rmi.RemoteException
        method needed for UI to ignore QBE exact match set
        Specified by:
        ignoreQbeExactMatchSet in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        MXException
      • isIgnoreQbeExactMatchSet

        public boolean isIgnoreQbeExactMatchSet()
        method to find if ignore QBE exact match set or not
      • setQbeCaseSensitive

        public void setQbeCaseSensitive(boolean state)
                                 throws java.rmi.RemoteException
        Defines whether QBE is case sensitive. Default is NOT case sensitive.
        Specified by:
        setQbeCaseSensitive in interface MboSetRemote
        Parameters:
        state - true = case sensitive, false = not case sensitive (default)
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.setQbeCaseSensitive(boolean)
      • setQbeCaseSensitive

        public void setQbeCaseSensitive(java.lang.String state)
                                 throws java.rmi.RemoteException
        Set the QBE to be case sensitive or not. Valid parameters are "true" or "false".
        Specified by:
        setQbeCaseSensitive in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • getQbe

        public java.lang.String[] getQbe(java.lang.String[] attributes)
                                  throws java.rmi.RemoteException
        Return the Qbe expressions for the specified list of attributes. If an attribute does not exist, a null is returned as the Qbe string.
        Specified by:
        getQbe in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • getQbe

        public java.lang.String[][] getQbe()
                                    throws MXException,
                                           java.rmi.RemoteException
        Returns the list of attributes for which the QBE has been set and their corresponding values. Returns null if there is no current Qbe expression.
        Specified by:
        getQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • hasQbe

        public boolean hasQbe()
                       throws MXException,
                              java.rmi.RemoteException
        Has there been any QBE values set ?
        Specified by:
        hasQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • setFlags

        public void setFlags(long flags)
        Deprecated. Replaced by setFlag(long, boolean)
        Set the mboset flags to the specified values. Flags used are usually NOUPDATE, NOADD, NODELETE. All three can be specified by using the READONLY flag.
        Specified by:
        setFlags in interface MboSetRemote
        See Also:
        MboSet.setFlag(long, boolean)
      • setFlag

        public void setFlag(long flag,
                            boolean state)
        Set the mboset flags to the specified values. Flags used are usually NOUPDATE, NOADD, NODELETE. All three can be specified by using the READONLY flag.
        Specified by:
        setFlag in interface MboSetRemote
      • setNoSaveFlag

        protected void setNoSaveFlag(boolean state)
      • setDiscardableFlag

        protected void setDiscardableFlag(boolean state)
      • setFlag

        public void setFlag(long flag,
                            boolean state,
                            MXException mxe)
        Set the mboset flags to the specified values. Flags used are usually NOUPDATE, NOADD, NODELETE. All three can be specified by using the READONLY flag. This also specifies the MXException at the MBOSet Level.
        Specified by:
        setFlag in interface MboSetRemote
      • isFlagSet

        public boolean isFlagSet(long flag)
        Return the state of the specified mboset flag
        Specified by:
        isFlagSet in interface MboSetRemote
      • applyRowSecurity

        public void applyRowSecurity()
                              throws MXException,
                                     java.rmi.RemoteException
        Check if every records in this set would be readonly and hidden according to data restriction. This method is called when the readonly or hidden flags are requested. The information is cached so the actual examine of the restriction will only take at most once.
        Throws:
        MXException
        java.rmi.RemoteException
      • getAlwaysFlags

        public BitFlag getAlwaysFlags()
        Returns the BitFlag that represent that the records in this mbo set should always READONLY or HIDDEN by row restrictions. This flag is set first time when a mbo's flag is retrieved and the information is cached on the MboSet.
        Returns:
      • getAlwaysFlags

        public BitFlag getAlwaysFlags(java.lang.String attr)
      • enableMethod

        public void enableMethod(java.lang.String methodName,
                                 boolean state)
        Enable/disable a certain method name
      • checkMethodAccess

        public void checkMethodAccess(java.lang.String methodName,
                                      long accessModifier)
                               throws MXException,
                                      java.rmi.RemoteException
        Check if the method name is available. Will throw an MXAccessException if not available due to lack of rights, or if currently not available for this mbo. Programmers of mbos should override this method for implementation of specific secure methods. When overriding, always call the super class.

        If Profile says that the user is not active, throw new MXInactiveUserException (access-invaliduser).

        If methodName is ADD, then check security profile for INSERT. (This particular check does not look at conditional sigoption, since we have not yet provided values on the new Mbo.)

        Generally speaking, if we're not checking methodName ADD, then security checks should be done against the Mbo, not the set. See sigopGranted.

        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getUserStatus(), Profile.getAppOptionAuth(java.lang.String, java.lang.String, java.lang.String)
      • checkMethodAccess

        public final void checkMethodAccess(java.lang.String methodName)
                                     throws MXException,
                                            java.rmi.RemoteException
        Check if the method name is available. Will throw an MXAccessException if not available due to lack of rights, or if currently not available for this mbo.
        Specified by:
        checkMethodAccess in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        MXException
      • getUserName

        public java.lang.String getUserName()
                                     throws MXException,
                                            java.rmi.RemoteException
        Return user name logged into server
        Specified by:
        getUserName in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • copy

        public final void copy(MboSetRemote mboset,
                               long mboAddFlags)
                        throws MXException,
                               java.rmi.RemoteException
        Mbos are copied into the mboset passed as a parameter.
        Parameters:
        mboset - The set into which the new mbos will be added.
        mboAddFlags - Flags to use when adding the new Mbos.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.copy(MboSetRemote, long)
      • copy

        public final void copy(MboSetRemote sourceSet,
                               java.lang.String[] srcAttributes,
                               java.lang.String[] destAttributes)
                        throws MXException,
                               java.rmi.RemoteException
        New Mbos are created in this set from the sourceSet and appropriate attribute values are copied to the mbos.
        Specified by:
        copy in interface MboSetRemote
        Parameters:
        sourceSet - set from which to copy the mbo values.
        srcAttributes - attributes to be copied from the source set mbos.
        destAttributes - attributes in the current set mbos that need to be set.
        Throws:
        MXException
        java.rmi.RemoteException
      • copyForDM

        public void copyForDM(MboSetRemote mboset,
                              int begin,
                              int size)
                       throws MXException,
                              java.rmi.RemoteException
        A number Mbos are copied into the mboset passed as a parameter. This method is used for Deployment Manager's snapshot package creation.
        Specified by:
        copyForDM in interface MboSetRemote
        Parameters:
        mboset - The set into which the new mbos will be added.
        begin - The beginning index of the mbo to start copying.
        size - The number of mbos to copy.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.mbo.Mbo#copy(MboSetRemote, int, int)
      • getSharedMboSet

        public MboSetRemote getSharedMboSet(java.lang.String objectName,
                                            java.lang.String relationship)
                                     throws MXException,
                                            java.rmi.RemoteException
        This method exists so Mbos can retrieve mbosets they reference. The shared mboset aren't linked to as normal because multiple mbos is this set could reference the same mbo.
        Throws:
        MXException
        java.rmi.RemoteException
      • getWarnings

        public MXException[] getWarnings()
                                  throws java.rmi.RemoteException
        Returns a list of warnings from the last method call. Warnings are MXExceptions that do not cause a method to fail. They can be used as information about assumptions or defaults that were used when a method was executing. Note that it is possible that warnings may be available for a method that generated warnings, even if it was NOT the last method called. For example, method A generates warnings, but method B does not, If B was the last method called, and a call to getWarnings() is then made, the warnings from method A will be returned. It should be docuemented in the JAVADOC comments for a method if warnings are generated. A call to this method clears the warning list.
        Specified by:
        getWarnings in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.hasWarnings(), MboSet.clearWarnings(), MboSet.addWarning(psdi.util.MXException)
      • clearWarnings

        public void clearWarnings()
        Clears the warning list. This is usually called as the first step of a method that can generate warning messages.
      • hasWarnings

        public boolean hasWarnings()
                            throws java.rmi.RemoteException
        Are there any warnings.
        Specified by:
        hasWarnings in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • addWarnings

        public void addWarnings(MXException[] es)
        Add all the exceptions from an array to the warning vector
        Specified by:
        addWarnings in interface MboSetRemote
        Parameters:
        es - An array of MXExceptions. It is normally obtained from getWarnings().
      • setMXTransaction

        public void setMXTransaction(MXTransaction txn)
                              throws java.rmi.RemoteException
        Sets the currently active transaction for this object. If this is called many times, transactions may become nested.
        Specified by:
        setMXTransaction in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • getMXTransaction

        public MXTransaction getMXTransaction()
                                       throws java.rmi.RemoteException
        Return the currently active transaction. If there isn't one, a new one is created so that when the MboSet is saved/committed, anything with the same transaction is committed.
        Specified by:
        getMXTransaction in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • save

        @TracePrimary
        public void save()
                                throws MXException,
                                       java.rmi.RemoteException
        Sends changes to the database for all objects in the collection. In addition to saving the members in this set, all Mbos owned by members of this set are also saved. If all goes well, commit is called, otherwise rollback is called. Once successfully saved, this MboSet is reset, ready for a requery.
        Specified by:
        save in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.reset()
      • save

        @TracePrimary
        public void save(long flags)
                                throws MXException,
                                       java.rmi.RemoteException
        Save the object with the specified flags. Possible flags are :- REBUILD - Maintains the result set after the save. This is more expensive than the default save() option.
        Specified by:
        save in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • save

        public void save(MXTransaction txn)
                  throws MXException,
                         java.rmi.RemoteException
        Save the object using within the specified transaction.
        Throws:
        MXException
        java.rmi.RemoteException
      • validateTransaction

        public boolean validateTransaction(MXTransaction txn)
                                    throws MXException,
                                           java.rmi.RemoteException
        validate the object for the specified transaction
        Specified by:
        validateTransaction in interface Transactable
        Parameters:
        txn - Transaction that caused the save
        Throws:
        MXException - Error while committing
        java.rmi.RemoteException - Network error
      • saveMbos

        public void saveMbos()
                      throws MXException,
                             java.rmi.RemoteException
        Loop through all the mbos calling save method.
        Parameters:
        txn -
        Throws:
        MXException
        java.rmi.RemoteException
      • fireEventsBeforeDB

        public void fireEventsBeforeDB(MXTransaction txn)
                                throws MXException,
                                       java.rmi.RemoteException
        fire events for all mbos in the transaction before db operation.
        Specified by:
        fireEventsBeforeDB in interface Transactable
        Parameters:
        txn - Transaction
        Throws:
        MXException - Error while committing
        java.rmi.RemoteException - Network error
      • fireEventsAfterDB

        public void fireEventsAfterDB(MXTransaction txn)
                               throws MXException,
                                      java.rmi.RemoteException
        fire events for all mbos in the transaction after db operation.
        Specified by:
        fireEventsAfterDB in interface Transactable
        Parameters:
        txn - Transaction
        Throws:
        MXException - Error while committing
        java.rmi.RemoteException - Network error
      • fireEventsAfterDBCommit

        public void fireEventsAfterDBCommit(MXTransaction txn)
                                     throws MXException,
                                            java.rmi.RemoteException
        fire events for all mbos in the transaction after db commit.
        Specified by:
        fireEventsAfterDBCommit in interface Transactable
        Parameters:
        txn - Transaction
        Throws:
        MXException - Error while committing
        java.rmi.RemoteException - Network error
      • commitTransaction

        public void commitTransaction(MXTransaction txn)
                               throws MXException,
                                      java.rmi.RemoteException
        Commit the object for the specified transaction
        Specified by:
        commitTransaction in interface Transactable
        Parameters:
        txn - Transaction that caused the commit
        Throws:
        MXException - Error while committing
        java.rmi.RemoteException - Network error
      • rollbackTransaction

        public void rollbackTransaction(MXTransaction txn)
                                 throws MXException,
                                        java.rmi.RemoteException
        Rollback the object for the specified transaction
        Specified by:
        rollbackTransaction in interface Transactable
        Parameters:
        txn - Transaction that caused the rollback
        Throws:
        MXException - Error while rolling back
        java.rmi.RemoteException - Network error
      • undoTransaction

        public void undoTransaction(MXTransaction txn)
                             throws MXException,
                                    java.rmi.RemoteException
        Undo the transaction AFTER it has been committed. By default this does nothing.
        Specified by:
        undoTransaction in interface Transactable
        Parameters:
        txn - Transaction that caused the undo
        Throws:
        MXException - Error while undoing
        java.rmi.RemoteException - Network error
      • setBindValueAsBytes

        protected void setBindValueAsBytes(java.sql.PreparedStatement pstmt,
                                           int bindIndex,
                                           byte[] value,
                                           java.lang.String columnName)
                                    throws java.sql.SQLException,
                                           MXException
        Sets the bind value as byte array for the specified bind index for the statement using passed-in value.
        Throws:
        java.sql.SQLException
        MXException
      • logRowUpdatedException

        public void logRowUpdatedException(MXRowUpdateException mxr)
        Logs the row has been updated by another user message with the execption stacktrace.
      • isLookup

        public boolean isLookup()
                         throws MXException,
                                java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • getAttrRestrictions

        public DataRestrictionCache.RestrictionBundle getAttrRestrictions(int levelRequested,
                                                                          java.lang.String attr)
                                                                   throws MXException,
                                                                          java.rmi.RemoteException
        Get an array of Data Restriction objects for attribute restriction what would need to apply to the attribute of the records in this mbo set. MboSet remembers the restrictions in order to avoid retriving them again and again.
        Throws:
        MXException
        java.rmi.RemoteException
      • getRowRestrictions

        public DataRestrictionCache.RestrictionBundle getRowRestrictions(int levelRequested)
                                                                  throws MXException,
                                                                         java.rmi.RemoteException
        Get an array of Data Restriction objeccts for row restriction that would need to apply to rows in the MboSet. MboSet remembers the restrictions in order to avoid retrieving it again and again. All the row restrictions will be retrieved at once the first time when a level of restriction is asked for. If it has been retrieved, the one remembered will be returned.
        Returns:
        Array list of MaxCondition objects. If there is no restrictions applicable, null.
        Throws:
        MXException
        java.rmi.RemoteException
      • getMaxAppsWhere

        public java.lang.String getMaxAppsWhere()
                                         throws MXException,
                                                java.rmi.RemoteException
        Provide a application restriction where clause from maxapps table
        Returns:
        The app restriction where clause
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Calls this method.
      • setTableDomainLookup

        public void setTableDomainLookup(boolean flag)
        Sets the tableDomainLookup flag to indicate that the this set is associated with a table domain lookup. The flag is used to enforce group / site restriction.
        Specified by:
        setTableDomainLookup in interface MboSetRemote
      • isTableDomainLookup

        public boolean isTableDomainLookup()
        Returns the if mboset is a lookup or not
        Returns:
        true if mboset is lookup else false
      • setDMDeploySet

        public void setDMDeploySet(boolean flag)
                            throws MXException,
                                   java.rmi.RemoteException
        Mark the set as created during deploy action of Deployment Manager. If the flag is set to true,it will skip mbo.validate method which will skip all field validations and appvalidate.
        Specified by:
        setDMDeploySet in interface MboSetRemote
        Parameters:
        true - or false
        Throws:
        MXException
        java.rmi.RemoteException
      • isDMDeploySet

        public boolean isDMDeploySet()
                              throws MXException,
                                     java.rmi.RemoteException
        Returns the flag if mboset is created during Deploy action of Deployement Manager set or not If the flag is set to true,it will skip mbo.validate method which will skip all field validations and appvalidate.
        Specified by:
        isDMDeploySet in interface MboSetRemote
        Returns:
        true if mboset is created during Deploy action of Deployement Manager set else false
        Throws:
        MXException
        java.rmi.RemoteException
      • isDMSkipFieldValidation

        public boolean isDMSkipFieldValidation()
                                        throws MXException,
                                               java.rmi.RemoteException
        Returns the flag if set is created during deploy action of Deployment Manager. If the flag is set to true,it will skip all field validations but do appvalidate.
        Specified by:
        isDMSkipFieldValidation in interface MboSetRemote
        Parameters:
        true - or false
        Throws:
        MXException
        java.rmi.RemoteException
      • setDMSkipFieldValidation

        public void setDMSkipFieldValidation(boolean flag)
                                      throws MXException,
                                             java.rmi.RemoteException
        Mark the set as created during deploy action of Deployment Manager. If the flag is set to true,it will skip all field validations but do appvalidate.
        Specified by:
        setDMSkipFieldValidation in interface MboSetRemote
        Parameters:
        true - or false
        Throws:
        MXException
        java.rmi.RemoteException
      • getCompleteWhere

        public java.lang.String getCompleteWhere()
                                          throws MXException,
                                                 java.rmi.RemoteException
        Get the complete Where clause that is used for fetching records to this object. This includes Qbe, setWhere() method calls and application restrictions.
        Specified by:
        getCompleteWhere in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • setQbe

        @TracePrimary
        public void setQbe(java.lang.String attribute,
                                         java.lang.String expression)
                                  throws MXException,
                                         java.rmi.RemoteException
        Add an expression to the existing Qbe. This will take effect the next time the MboSet is reset and a record is fetched. setQbe(String, String) can be called multiple times before initiating the fetch, in which case the expressions will be ANDed together.
        Specified by:
        setQbe in interface MboSetRemote
        Parameters:
        attribute - The attribute name whose value is being restricted.
        expression - The restriction value for the attribute. The expression can be in either of two forms:
        • [operator] [operand] For example, >10. The supported operators are >, >=, <, <=, =, !=, and LIKE (default). For string datatypes, the operand can contain % characters for wildcards.
        • [operand] For example, "ABC" . In this form, the operator is assumed to be LIKE.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.resetQbe(), MboSet.setQbe(String[], String), MboSet.reset(), MboSet.getMbo()
      • setWhereQbe

        public void setWhereQbe(java.lang.String attribute,
                                java.lang.String value,
                                java.lang.String where)
                         throws MXException,
                                java.rmi.RemoteException
        Sets the where clause for the QBE.
        Specified by:
        setWhereQbe in interface MboSetRemote
        Parameters:
        attribute - name
        original - Value
        where - clause replaced for the original value.
        Throws:
        MXException
        java.rmi.RemoteException
      • getQbe

        public java.lang.String getQbe(java.lang.String attribute)
                                throws MXException,
                                       java.rmi.RemoteException
        Return the current Qbe expression for the specified attribute. Returns null if there is no current Qbe expression.
        Specified by:
        getQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • cleanup

        public void cleanup()
                     throws MXException,
                            java.rmi.RemoteException
        Reset the QBE, reset, and clear its transaction. It also removes itself from the parent's related set list if it has an owner.
        Specified by:
        cleanup in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • select

        public void select(int index)
                    throws MXException,
                           java.rmi.RemoteException
        Marks the Mbo at the specified index Selected.
        Specified by:
        select in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • select

        public void select(int startIndex,
                           int count)
                    throws MXException,
                           java.rmi.RemoteException
        Marks the a set of Mbos starting from startIndex Selected.
        Specified by:
        select in interface MboSetRemote
        Parameters:
        startIndex - starting index position (must be >= 0)
        count - number of Mbos after the start index to be marked for selection (must be > 0).
        Throws:
        MXException
        java.rmi.RemoteException
      • select

        public void select(java.util.Vector mboIndices)
                    throws MXException,
                           java.rmi.RemoteException
        Marks a set of mbos selected by using the mbo indices.
        Specified by:
        select in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getSelection

        public java.util.Vector getSelection()
                                      throws MXException,
                                             java.rmi.RemoteException
        Returns a Vector of mbos marked for selection.
        Specified by:
        getSelection in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • unselect

        public void unselect(int index)
                      throws MXException,
                             java.rmi.RemoteException
        Marks the Mbo at the specified index Unselected.
        Specified by:
        unselect in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • unselect

        public void unselect(int startIndex,
                             int count)
                      throws MXException,
                             java.rmi.RemoteException
        Marks the a set of Mbos starting from startIndex Unselected.
        Specified by:
        unselect in interface MboSetRemote
        Parameters:
        startIndex - starting index position (must be >= 0)
        count - number of Mbos after the start index to be marked unselected (must be > 0).
        Throws:
        MXException
        java.rmi.RemoteException
      • unselect

        public void unselect(java.util.Vector mboIndices)
                      throws MXException,
                             java.rmi.RemoteException
        Marks a set of mbos unselected by using the mbo indices.
        Specified by:
        unselect in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • selectAll

        public void selectAll()
                       throws MXException,
                              java.rmi.RemoteException
        Marks all the Mbos in the set selected. Note that this method will ftech all mbo if they are not already fetched. Becasue of this reason, care must be taken when using this function. Does not restore the previous state, if there is any exception.
        Specified by:
        selectAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • unselectAll

        public void unselectAll()
                         throws MXException,
                                java.rmi.RemoteException
        Marks all the Mbos in the set unselected. Does not restore the previous state, if there is any exception.
        Specified by:
        unselectAll in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • resetWithSelection

        public void resetWithSelection()
                                throws MXException,
                                       java.rmi.RemoteException
        Resets the MboSet such that the MboSet contains only the selected mbos. The where clause of the MboSet is also reflected to include the selected mbos.
        Specified by:
        resetWithSelection in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getSelectionWhere

        public java.lang.String getSelectionWhere()
                                           throws MXException,
                                                  java.rmi.RemoteException
        Returns the where clause for the selected Mbos.
        Specified by:
        getSelectionWhere in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getMultiSiteWhere

        public java.lang.String getMultiSiteWhere()
                                           throws MXException,
                                                  java.rmi.RemoteException
        Provide a qualifying where clause based on this MboSet's SiteOrgType and the user Site or Org. qqqq - cache per MboSet class/ user - qqqq
        Returns:
        The Multi-Site where clause
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Calls this method.
      • setAppWhere

        public void setAppWhere(java.lang.String appWhere)
                         throws MXException,
                                java.rmi.RemoteException
        Sets the application where clause.
        Specified by:
        setAppWhere in interface MboSetRemote
        Parameters:
        appWhere - This where clause will be added to the final assembled where clause
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Getter method., Assembles the where clause used to get records.
      • getAppWhere

        public java.lang.String getAppWhere()
                                     throws MXException,
                                            java.rmi.RemoteException
        Gets the application where clause.
        Specified by:
        getAppWhere in interface MboSetRemote
        Returns:
        The application where clause.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Setter method., Assembles the where clause used to get records.
      • setDefaultValue

        public void setDefaultValue(java.lang.String attribute,
                                    java.lang.String value)
                             throws MXException,
                                    java.rmi.RemoteException
        method for setting default values for a mboset(screen/table default) When a new object is added, the default value will be set on the attribute. If the attribute is a related attribute of a child MboSet, in the form of relationship.attribute, the default value will be set to the child mbo set related through this relationship from the current Mbo of this set, or the child set of the zombie Mbo of this set if the current mbo is empty. It also stores the default value for relationship.attribute in the this MboSet. When the default values are set to the newly created mbo, a setValue call on the related attribute is also called. If a new child Mbo has already been add at that moment, the default value will be set to the attribute.
        Specified by:
        setDefaultValue in interface MboSetRemote
        Parameters:
        attribute - Name
        Value - for the attribute
        Throws:
        MXException
        java.rmi.RemoteException
      • getDefaultValue

        public java.lang.String getDefaultValue(java.lang.String attribute)
                                         throws MXException,
                                                java.rmi.RemoteException
        method for getting the default value for an attribute
        Specified by:
        getDefaultValue in interface MboSetRemote
        Parameters:
        attribute - Name
        Returns:
        value
        Throws:
        MXException
        java.rmi.RemoteException
      • getDefaultValueHash

        public java.util.HashMap getDefaultValueHash()
        method for getting defaultValue hash table
      • setDefaultValues

        public void setDefaultValues(java.lang.String[] attributes,
                                     java.lang.String[] values)
                              throws MXException,
                                     java.rmi.RemoteException
        method for setting JSP field default values for a mboset
        Specified by:
        setDefaultValues in interface MboSetRemote
        Parameters:
        attributes - array
        array - of Values for the attribute
        Throws:
        MXException
        java.rmi.RemoteException
      • setDefaultValues

        public void setDefaultValues(java.lang.String attribute,
                                     java.lang.String value)
        method for setting JSP field default values for a mboset
        Parameters:
        attribute -
        Value -
      • getJspDefaultValueHash

        public java.util.HashMap getJspDefaultValueHash()
        method for getting jsp field defaultValue hash table
      • includeRelatedMbosOfOwnersChildren

        protected boolean includeRelatedMbosOfOwnersChildren()
        MboSets like WPLabor that want to show all the WPLabor records for all the owner's children should override this method and return true. By default, this method returns false.
      • isESigNeeded

        public boolean isESigNeeded(java.lang.String optionName)
                             throws MXException,
                                    java.rmi.RemoteException
        Indicates whether ESig is needed for the given option name.
        Specified by:
        isESigNeeded in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • isESigNeeded

        protected boolean isESigNeeded()
        Object code can override this method to flag whether esig is needed during save action or not. This method is called for save action only if the filter is not specified.
      • isESigFieldModified

        public boolean isESigFieldModified()
        Indicates whether any of the fields enabled for electronic signature are modified by the user.
      • setESigFieldModified

        public void setESigFieldModified(boolean eSigFieldModified)
                                  throws java.rmi.RemoteException
        Sets whether any of the fields enabled for electronic signature are modified by the user.
        Specified by:
        setESigFieldModified in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • isEAuditFieldModified

        public boolean isEAuditFieldModified()
        Indicates whether any of the fields enabled for electronic audit are modified by the user, for any mbo in this set.
      • setEAuditFieldModified

        public void setEAuditFieldModified(boolean eAuditFieldModified)
        Sets whether any of the fields enabled for electronic audit are modified by the user, for any mbo in this set.
      • handleMLMbo

        public void handleMLMbo(Mbo mbo,
                                MXTransaction txn,
                                java.lang.String action)
                         throws MXException,
                                java.rmi.RemoteException
        Deprecated. Replaced by #handleMLMbo(Mbo, String)
        Throws:
        MXException
        java.rmi.RemoteException
      • handleMLMbo

        public void handleMLMbo(Mbo mbo,
                                java.lang.String action)
                         throws MXException,
                                java.rmi.RemoteException
        Parameters:
        mbo -
        action -
        Throws:
        MXException
        java.rmi.RemoteException
      • isEAuditNeeded

        protected boolean isEAuditNeeded(Mbo mbo)
        Object code can override this method to flag whether eAudit is needed during save action or not. This method is called only if the filter is not specified.
      • getESigTransactionId

        public java.lang.String getESigTransactionId()
                                              throws MXException,
                                                     java.rmi.RemoteException
        Returns the transaction id used for the esig. This code updates a ThreadLocal object with the appropriate esig transaction id (which has been used for the last esig), that will be available until the save is completed by either a commit or rollback.
        Specified by:
        getESigTransactionId in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • clearESigTransIDForAdmin

        public void clearESigTransIDForAdmin()
        This method should only be used by Admin Mode and Config DB since neither use MboSet to save/rollback transactions. They need to have the ablitity to set the ThreadLocal eSigTransId to null IV55389 ESIGTRANSID IS NOT BEING CLEARED OUT BEFORE THE NEXT TRANSACTION
      • clearESigTransactionIdThread

        public static void clearESigTransactionIdThread()
        Sets the esig transaction id to null. This is called from requestmanager when a new page/tab is requested
      • verifyESig

        public boolean verifyESig(java.lang.String loginid,
                                  java.lang.String password,
                                  java.lang.String reason)
                           throws MXException,
                                  java.rmi.RemoteException
        Verifies the loginid and password and if they are correct, then writes out an esig record. Returns true, if the authentication is successful.
        Specified by:
        verifyESig in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • logESigVerification

        public void logESigVerification(java.lang.String username,
                                        java.lang.String reason,
                                        boolean authenticatedSuccessfully)
                                 throws MXException,
                                        java.rmi.RemoteException
        Logs a esig record aboout the user indicating the reason for the verification and whether the user authentication is successful or not.
        Specified by:
        logESigVerification in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • isBasedOn

        public boolean isBasedOn(java.lang.String objectName)
                          throws java.rmi.RemoteException
        Returns true, if this business object is based on the given business object name.
        Specified by:
        isBasedOn in interface MboSetRemote
        Returns:
        true, if this business object is based on the given object name, otherwise false.
        Throws:
        java.rmi.RemoteException
      • getKeyAttributes

        public java.lang.String[] getKeyAttributes()
                                            throws java.rmi.RemoteException
        Returns a list of key attributes.
        Specified by:
        getKeyAttributes in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
      • getMboLogger

        public MXLogger getMboLogger()
        Returns a logger to log messages related to this business object.
        Returns:
        MXLogger a logger to log messages related to this business object.
      • getSecurityLogger

        public MXLogger getSecurityLogger()
        Returns a logger to log security messages related to this business object.
        Returns:
        MXLogger a logger to log messages related to this business object.
      • getSqlLogger

        public MXLogger getSqlLogger()
        Returns a logger to log SQL messages related to this business object.
        Returns:
        MXLogger a logger to log messages related to this business object.
      • setAutoKeyFlag

        public boolean setAutoKeyFlag(boolean flag)
                               throws java.rmi.RemoteException
        This method will switch on and off the flag of setting the autokey to the newly added() method when different forms of add() is called if autokey is set as the object default value. It returns the current flag. If the flag is true, the autokey will be set during add if it is the database default value. If the flag is flase, the autokey will not be set even if it is the database default value.
        Specified by:
        setAutoKeyFlag in interface MboSetRemote
        Throws:
        java.rmi.RemoteException
        See Also:
        MboSet.setAutoKeyFlag(boolean)
      • ignoreAutokeyAttr

        public void ignoreAutokeyAttr(java.lang.String attrName,
                                      boolean flag)
        Inform the system to enable or disable autokey the specified attribute when a new object is created. The method will only take effect if &autokey& is specified as the default value for the attribte. If setAutoKeyFlag(false) has been called on this Mbo set, all the autokey attribute will not be autokeyed disregard the attributes set by this method.
        Parameters:
        attrName - Attribute name of the current object. It cannot be related attribute.
        flag -
      • getIgnoredAutokeyAttrs

        public java.util.HashSet getIgnoredAutokeyAttrs()
        Get a Hashset of attribues that are requested not to set the autokeys.
        Returns:
        null or empty hashset if there are no ignored attributes.
      • clearIgnoredAutokeyAttrs

        public void clearIgnoredAutokeyAttrs()
      • ignoreAutokeyAttr

        public void ignoreAutokeyAttr(java.lang.String[] attrNames,
                                      boolean flag)
        Inform the system to enable or disable autokey the specified attributes when a new object is created. The method will only take effect if &autokey& is specified as the default value for the attribte. If setAutoKeyFlag(false) has been called on this Mbo set, all the autokey attribute will not be autokeyed disregard the attributes set by this method.
        Parameters:
        attrName - Attribute names of the current object. It cannot be related attribute.
        flag -
      • findByIntegrationKey

        public MboRemote findByIntegrationKey(java.lang.String[] integrationKeys,
                                              java.lang.String[] integrationKeyValues)
                                       throws MXException,
                                              java.rmi.RemoteException
        This method is used by the integration logic to find out the mbos that are present based on an integration key. This method will load all the existing records of this set into memory once when this method is called first time (this is needed to avoid multiple database calls to find each record). Also, the data that this method is going to operate is based on what's fetched from the database. Note: This method is going to fetch all the records from the database and should be used only where appropriate. The code assumes that the key values are passed in the same order as the default integration key order based on the getDefaultIntegrationKeyAttributes() method in the MboSetInfo.
        Specified by:
        findByIntegrationKey in interface MboSetRemote
        Parameters:
        integrationKeys - list of key attributes
        integrationKeyValues - list of key values
        Returns:
        MboRemote a reference to the mbo, if found, otherwise null.
        Throws:
        MXException
        java.rmi.RemoteException
      • setRelationName

        public void setRelationName(java.lang.String relationName)
                             throws MXException,
                                    java.rmi.RemoteException
        This method sets the relationship name used to created this set when this set is obtained from a mbo. Please note that this is an internal method and should not be called by any other code.
        Specified by:
        setRelationName in interface MboSetRemote
        Parameters:
        relationName - relationship name
        Throws:
        MXException
        java.rmi.RemoteException
      • getRelationName

        public java.lang.String getRelationName()
                                         throws MXException,
                                                java.rmi.RemoteException
        Returns the relationship name used to obtain this set. If this set is not obtained through a relationship, returns null.
        Specified by:
        getRelationName in interface MboSetRemote
        Returns:
        String the relation name, if this set is obtained through a relationship, otherwise null.
        Throws:
        MXException
        java.rmi.RemoteException
      • hasMLQbe

        public boolean hasMLQbe()
                         throws MXException,
                                java.rmi.RemoteException
        Returns whether there are any QBE set on the attribute which is multi-language in use.
        Specified by:
        hasMLQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getMessage

        public java.lang.String getMessage(java.lang.String errGrp,
                                           java.lang.String errKey)
                                    throws java.rmi.RemoteException
        Get the message in the language specified by this MboSet's userInfo for the error group and error key. If no such message is found, errGrp#errKey will be returned.
        Specified by:
        getMessage in interface MboSetRemote
        Parameters:
        errGrp -
        errKey -
        Returns:
        Throws:
        java.rmi.RemoteException
      • getMessage

        public java.lang.String getMessage(java.lang.String errGrp,
                                           java.lang.String errKey,
                                           java.lang.Object[] params)
                                    throws java.rmi.RemoteException
        Get the message for the error group, error key and the parameter in the language of this MboSet's userInfo.
        Specified by:
        getMessage in interface MboSetRemote
        Returns:
        Throws:
        java.rmi.RemoteException
        See Also:
        Mbo.getMessage(String errGrp, String errKey, Object[] params)
      • getMessage

        public java.lang.String getMessage(java.lang.String errGrp,
                                           java.lang.String errKey,
                                           java.lang.Object param)
                                    throws java.rmi.RemoteException
        Get the message for the error group, error key and the parameter in the language of this MboSet's userInfo.
        Specified by:
        getMessage in interface MboSetRemote
        Returns:
        Throws:
        java.rmi.RemoteException
        See Also:
        Mbo.getMessage(String errGrp, String errKey, Object param)
      • getMessage

        public java.lang.String getMessage(MXException ex)
                                    throws java.rmi.RemoteException
        Get the message of the exception in the language specified by this MboSet's userInfo. returned.
        Specified by:
        getMessage in interface MboSetRemote
        Parameters:
        errGrp -
        errKey -
        Returns:
        Throws:
        java.rmi.RemoteException
      • getMaxMessage

        public MaxMessage getMaxMessage(java.lang.String errGrp,
                                        java.lang.String errKey)
                                 throws MXException,
                                        java.rmi.RemoteException
        Get the MaxMessage object for the specified error group and errorkey.
        Specified by:
        getMaxMessage in interface MboSetRemote
        Parameters:
        errGrp -
        errKey -
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • setLogLargFetchResultDisabled

        public boolean setLogLargFetchResultDisabled(boolean disable)
                                              throws java.rmi.RemoteException
        Pass true to disable loging of large fetch result set over a limit. The method returns the existing value of the flag.
        Specified by:
        setLogLargFetchResultDisabled in interface MboSetRemote
        Parameters:
        disable -
        Returns:
        Throws:
        java.rmi.RemoteException
      • addSubQbe

        public void addSubQbe(java.lang.String name,
                              java.lang.String[] attrs,
                              java.lang.String operator)
                       throws MXException,
                              java.rmi.RemoteException
        Specify a list of attribute that when their QBE are set, the AND/OR operator will be the one specified,which is different than the general QBE. You cannot add a relationship.attribute into a child QBE.
        Specified by:
        addSubQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.addSubQbe(String, String[], String)
      • addSubQbe

        public void addSubQbe(java.lang.String name,
                              java.lang.String[] attrs,
                              java.lang.String operator,
                              boolean exactMatch)
                       throws MXException,
                              java.rmi.RemoteException
        Specify a list of attribute that when their QBE are set, the AND/OR operator and exact match flag will be the one specified,which is different than the general QBE. You cannot add a relationship.attribute into a child QBE.
        Specified by:
        addSubQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.addSubQbe(String, String[], String, boolean)
      • addSubQbe

        public void addSubQbe(java.lang.String parentQbe,
                              java.lang.String name,
                              java.lang.String[] attrs,
                              java.lang.String operator,
                              boolean exactMatch)
                       throws MXException,
                              java.rmi.RemoteException
        Specify a list of attribute that when their QBE are set, the AND/OR operator and exact match flag will be the one specified,which is different than the parent QBE. You cannot add a relationship.attribute into a child QBE.
        Specified by:
        addSubQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.addSubQbe(String, String, String[], String, boolean)
      • addSubQbe

        public void addSubQbe(java.lang.String parentQbe,
                              java.lang.String name,
                              java.lang.String[] attrs,
                              java.lang.String operator)
                       throws MXException,
                              java.rmi.RemoteException
        Specify a list of attribute that when their QBE are set, the AND/OR operator will be the one specified,which is different than the parent QBE. You cannot add a relationship.attribute into a child QBE.
        Specified by:
        addSubQbe in interface MboSetRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        MboSet.addSubQbe(String, String, String[], String)
      • setInsertSite

        public void setInsertSite(java.lang.String site)
                           throws MXException,
                                  java.rmi.RemoteException
        Sets the insert site for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertSiteForSet instead of profile
        Specified by:
        setInsertSite in interface MboSetRemote
        Parameters:
        site -
        Throws:
        MXException
        java.rmi.RemoteException
      • setInsertOrg

        public void setInsertOrg(java.lang.String org)
                          throws MXException,
                                 java.rmi.RemoteException
        Sets the insert org for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertOrgForSet instead of profile
        Specified by:
        setInsertOrg in interface MboSetRemote
        Parameters:
        org -
        Throws:
        MXException
        java.rmi.RemoteException
      • setInsertCompanySet

        public void setInsertCompanySet(java.lang.String compSet)
                                 throws MXException,
                                        java.rmi.RemoteException
        Sets the insert company set for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertCompanysetForSet instead of profile
        Specified by:
        setInsertCompanySet in interface MboSetRemote
        Parameters:
        companyset -
        Throws:
        MXException
        java.rmi.RemoteException
      • setInsertItemSet

        public void setInsertItemSet(java.lang.String itemSet)
                              throws MXException,
                                     java.rmi.RemoteException
        Sets the insert item set for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertItemsetForSet instead of profile
        Specified by:
        setInsertItemSet in interface MboSetRemote
        Parameters:
        itemset -
        Throws:
        MXException
        java.rmi.RemoteException
      • setExcludeMeFromPropagation

        public void setExcludeMeFromPropagation(boolean flag)
                                         throws MXException,
                                                java.rmi.RemoteException
        Sets the flag to excude a mboset from propagation
        Specified by:
        setExcludeMeFromPropagation in interface MboSetRemote
        Parameters:
        flag -
        Throws:
        MXException
        java.rmi.RemoteException
      • getExcludeMeFromPropagation

        public boolean getExcludeMeFromPropagation()
                                            throws MXException,
                                                   java.rmi.RemoteException
        Gets the flag to excude a mboset from propagation
        Specified by:
        getExcludeMeFromPropagation in interface MboSetRemote
        Parameters:
        flag -
        Throws:
        MXException
        java.rmi.RemoteException
      • getInsertSite

        public java.lang.String getInsertSite()
        Gets the insert site for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertSiteForSet instead of profile
        Throws:
        MXException
        java.rmi.RemoteException
      • getInsertOrg

        public java.lang.String getInsertOrg()
        Gets the insert org for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertOrgForSet instead of profile
        Throws:
        MXException
        java.rmi.RemoteException
      • getAllowQualifiedRestriction

        public boolean getAllowQualifiedRestriction()
        Returns:
        See Also:
        allowQualifiedDataRestriction
      • getInsertCompanySet

        public java.lang.String getInsertCompanySet()
        Sets the insert company set for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertCompanysetForSet instead of profile
        Throws:
        MXException
        java.rmi.RemoteException
      • getInsertItemSet

        public java.lang.String getInsertItemSet()
        Gets the insert item set for the mboset. This method shouldn't be used for UI. It should only be used for MEA. If this is set mbo takes insertItemsetForSet instead of profile
        Throws:
        MXException
        java.rmi.RemoteException
      • sort

        public void sort()
      • clearTransactionReference

        public void clearTransactionReference()
        Set the active and potential transactiont to null. Any mbo set obtained from the object in this mbo set will start a new transaction.
      • locateMbo

        public MboRemote locateMbo(java.lang.String[] keys,
                                   java.lang.String[] values,
                                   int option)
                            throws MXException,
                                   java.rmi.RemoteException
        This method is provided for MEA. It locates a MBO by the given key value pair. If it finds such record in the database, depending on the option parameter, it does one of the three.
      • When option is 1 (INSERTONLY), throw exception [system.locateMboRecExists]when a record by the keys already exist in the database or has already been added in the set. If such record does not exist, a new mbo representing of the given key will be added in the mbo set, and this MBO will be returned. The new MBO will be marked as newly added.
      • When option is 2 (UPDATEONLY), throw exception [system:locateMboRecNotFound] when a record by the keys dosen't exist in database or has already been added in the set. If such record already exists, the one in the memory will be returned, or it will be instantiated if not in memory yet and returned.
      • When option is 0 (INSERTORUPDATE), If the record existS in the database, instantiate the mbo in the set. If doesn't exist, add the mbo in the mbo set. This MBO by the keys will be returned.
      It is expected that the mbo set be closed when this method is called so that no actual databaes fetch will be done to this mbo set. The where clause of the mbo set is ignored by this method, and may not be consistent to what it'll have in the set.
Specified by:
locateMbo in interface MboSetRemote
Throws:
MXException
java.rmi.RemoteException
See Also:
psdi.mbo.MboSet#locateMbo()
  • setupLongOpPipe

    public java.io.InputStream setupLongOpPipe()
                                        throws MXException,
                                               java.rmi.RemoteException
    Setup pipe for long op messages.
    Specified by:
    setupLongOpPipe in interface MboSetRemote
    Throws:
    MXException
    java.rmi.RemoteException
  • abortSql

    public void abortSql()
                  throws MXException,
                         java.rmi.RemoteException
    Abort the sql query currently in process.
    Specified by:
    abortSql in interface MboSetRemote
    Throws:
    MXException
    java.rmi.RemoteException
  • addToEndOfSelectStatement

    public java.lang.String addToEndOfSelectStatement(boolean fetchLimitEanbled)
    Overwrite this method in the Mbo Set class to return the additional string that will be appended to the last of the select sql.
    Returns:
    null if nothing needs to be appended.
  • setAppAlwaysFieldFlag

    public void setAppAlwaysFieldFlag(java.lang.String attr,
                                      long flag,
                                      boolean state)
                               throws java.rmi.RemoteException
    Description copied from interface: MboSetRemote
    Informs the mbo set that any mbo of this set will have the field flags set to the specified attribute. These field flags will always be set when the mbo is created or duplicated. The field flag can be set to a different value as this method specified after the mbo is created or duplicated when the flag is set directly on Mbo or MboValue for the attribute. However, this method is intended to be called only on the attributes that the specified field flag remain the same unconditionally. For the dynamic type of field flags, you should use setFieldFlag(String name, long flag, boolean state) call on the Mbo object.
    Specified by:
    setAppAlwaysFieldFlag in interface MboSetRemote
    Throws:
    java.rmi.RemoteException
    See Also:
    psdi.mbo.MboSetRemote#setAlwaysFieldFlag(String attr, long flag, boolean state)
  • getAppAlwaysFieldFlags

    public BitFlag getAppAlwaysFieldFlags(java.lang.String attr)
                                   throws java.rmi.RemoteException
    Get the bitFlag stored for the always flag for the attribute, null if nothing.
    Specified by:
    getAppAlwaysFieldFlags in interface MboSetRemote
    Throws:
    java.rmi.RemoteException
  • getAllAppAlwaysFieldFlags

    protected java.util.HashMap getAllAppAlwaysFieldFlags()
    Return all the always field flags set to all the attribute on this mboset. The HashMap returned has the key as attribute name and BitFlag as the value. You can use iterator to get all the values.
  • setTxnPropertyMap

    public void setTxnPropertyMap(java.util.Map map)
                           throws MXException,
                                  java.rmi.RemoteException
    Sets the property map for transaction
    Specified by:
    setTxnPropertyMap in interface MboSetRemote
    Parameters:
    map -
    Throws:
    MXException
    java.rmi.RemoteException
  • getTxnPropertyMap

    public java.util.Map getTxnPropertyMap()
                                    throws MXException,
                                           java.rmi.RemoteException
    Gets the property map for the transaction
    Specified by:
    getTxnPropertyMap in interface MboSetRemote
    Returns:
    map
    Throws:
    MXException
    java.rmi.RemoteException
  • getQbeSiteAuthorization

    public java.lang.String getQbeSiteAuthorization()
                                             throws MXException,
                                                    java.rmi.RemoteException
    Check whether there is a QBE set on the MboSet on siteid. If there is, check whether based on this QBE, there is a list of sites authorized to this use. The QBE understood by this method is only restricuted to =value and =value1,=value2, which are those that can derive seperated site id from. Any other format are ignored and considered to be not able to decide. This method should have only be called if the object has siteid and is sitelevel, orglevel, system with site or org type of objects. If the sites specified by QBE is readable by this method and the site(s) are authorized, the method returns "". If there is no QBE or it cannot be determined whether the sites are authorized, or there are too many authorized sites, the method returns null. If there are a limited number of sites authorized based on this QBE, this list of sites are returned in the form of siteid in ('site1', site2'). If it is determined that no site is authorized based on this QBE, "1=2" is returned.
    Returns:
    String
    Throws:
    MXException
    java.rmi.RemoteException
  • findAllNullRequiredFields

    public java.util.List findAllNullRequiredFields()
                                             throws MXException,
                                                    java.rmi.RemoteException
    Returns a list of ERMAttributeError for each required attribute with a null value. This method will traverse all Mbos in memory and all related MboSets as defined by the ERMEntity. The process only checks the already in memory mbos and only if they are new or modified. The process checks the flags on the MboValue if MboValue is instantiated, and checks the always flag as well as the flag set on Mbo is the MboValue is not instantiated or its flag is not asked for yet. This may not return the most accrate information about the required flag because it is intended not to do the expensive evaluation.
    Specified by:
    findAllNullRequiredFields in interface MboSetRemote
    Returns:
    returns a List of ERMAttributeErrors for each required field that does not have a value within the mboset, it's mbos and the mbo's related sets.
    Throws:
    MXException
    java.rmi.RemoteException
  • determineRequiredFieldsFromERM

    public java.util.List determineRequiredFieldsFromERM()
                                                  throws MXException,
                                                         java.rmi.RemoteException
    Using the ERMEntity associated with this MboSet, this method will obtain a complete list of required fields that need a value. THIS IS A VERY EXPENSIVE METHOD and should only be called when attempting to save the record. It checks all mbos in memory that need to be saved (by calling toBeSaved). It also checks the releated MboSets for each mbo that needs to be saved. This call will load all MboValue's and check the isRequired for every attribute epecified within the ERMEntity and it's related ERMEntities. For each required field without a value, a new ERMAttributeError will ba added to the passed in list.
    Specified by:
    determineRequiredFieldsFromERM in interface MboSetRemote
    Returns:
    returns a List of ERMAttributeErrors for each required field that does not have a value within the mboset, it's mbos and the mbo's related sets.
    Throws:
    MXException - Throws the possible MXException that can be thrown when trying to get MboValue for attributes
    java.rmi.RemoteException - Throws the possible MXException that can be thrown when trying to get MboValue for attributes
  • setRequiedFlagsFromERM

    public void setRequiedFlagsFromERM()
                                throws MXException,
                                       java.rmi.RemoteException
    Get the ERMEntity associated with the MboSet (if there is one) and determines if the ERMEntity has any required fields and sets the required app always Field Flag on the MboSet for each required one.
    Specified by:
    setRequiedFlagsFromERM in interface MboSetRemote
    Throws:
    MXException - Throws the possible MXException thrown from getERMEntity
    java.rmi.RemoteException - Throws the possible RemoteException thrown from getERMEntity
  • setERMEntity

    public void setERMEntity(ERMEntity ermEntity)
                      throws MXException,
                             java.rmi.RemoteException
    Sets the ERMEntity of on the MboSet and sets the alwaysAppFieldFlags for each required attribute in the ERMEntity
    Specified by:
    setERMEntity in interface MboSetRemote
    Throws:
    MXException - Throws the possible MXException thrown from setRequiedFlagsFromERM
    java.rmi.RemoteException - Throws the possible RemoteException thrown from setRequiedFlagsFromERM
  • getERMEntity

    public ERMEntity getERMEntity()
                           throws MXException,
                                  java.rmi.RemoteException
    Finds and returns the ERMEntity assiciated with the MbSet. If the MboSet doesn't have a reference to an ERMEntity and the MboSet is not the top most MbSet, this method will bubble up owners until it finds a MboSet with an ERMEntity and asks the ERMEntity for the related entity.
    Specified by:
    getERMEntity in interface MboSetRemote
    Returns:
    Returns the ERMEntity for the MboSet or null if there isn't one.
    Throws:
    MXException - Throws the possible MXException thrown from the call to getting the owner Mbo
    java.rmi.RemoteException - Throws the possible RemoteException thrown from the call to getting owner's MboSet
  • isRetainMboPosition

    public boolean isRetainMboPosition()
                                throws MXException,
                                       java.rmi.RemoteException
    Is the current MboSet's mbo position to be retained?
    Specified by:
    isRetainMboPosition in interface MboSetRemote
    Returns:
    true, if the position needs to be retained.
    Throws:
    MXException
    java.rmi.RemoteException
  • setRetainMboPosition

    public void setRetainMboPosition(boolean retainMboPosition)
                              throws MXException,
                                     java.rmi.RemoteException
    Sets the current MboSet's mbo position to be retained after save. Note that the position is not automatically retained after save. The positionState method must be called to position the mbo as the current mbo.
    Specified by:
    setRetainMboPosition in interface MboSetRemote
    Parameters:
    retainMboPosition - true to retain position, false otherwise.
    Throws:
    MXException
    java.rmi.RemoteException
  • getMboSetRetainMboPositionInfo

    public MboSetRetainMboPositionInfo getMboSetRetainMboPositionInfo()
                                                               throws MXException,
                                                                      java.rmi.RemoteException
    Returns the retain mbo position info available. Note that this information would only be available for the top level MBOSet in a Business Object graph. If this is called for any MboSet in the graph hierarchy it returns null.
    Specified by:
    getMboSetRetainMboPositionInfo in interface MboSetRemote
    Returns:
    MboSetRetainMboPositionInfo position information, if this is a top level MboSet and information exists, otherwise null.
    Throws:
    MXException
    java.rmi.RemoteException
  • getMboSetRetainMboPositionData

    public MboSetRetainMboPositionData getMboSetRetainMboPositionData()
                                                               throws MXException,
                                                                      java.rmi.RemoteException
    Returns the retain mbo position data available. Note that this information would only be available for the top level MBOSet in a Business Object graph. If this is called for any MboSet in the graph hierarchy it returns null.
    Specified by:
    getMboSetRetainMboPositionData in interface MboSetRemote
    Returns:
    MboSetRetainMboPositionData position information, if this is a top level MboSet and information exists, otherwise null.
    Throws:
    MXException
    java.rmi.RemoteException
  • positionState

    public void positionState()
                       throws MXException,
                              java.rmi.RemoteException
    Positions the current mbo based on the position data cached, if the data exists.
    Specified by:
    positionState in interface MboSetRemote
    Throws:
    MXException
    java.rmi.RemoteException
  • updateMboSetRetainMboPositionData

    protected void updateMboSetRetainMboPositionData(MboSetRemote currentMboSet,
                                                     MboSetRetainMboPositionData mboSetRetainMboPositionData)
                                              throws MXException,
                                                     java.rmi.RemoteException
    Updates the retain mbo position data for the set
    Parameters:
    currentMboSet - set from which the position data need to be extracted
    mboSetRetainMboPositionData - position data that needs update
    Throws:
    MXException
    java.rmi.RemoteException
  • updateRelatedMboSetRetainMboPositionData

    protected void updateRelatedMboSetRetainMboPositionData(Mbo currentMbo,
                                                            MboSetRetainMboPositionData mboSetRetainMboPositionData,
                                                            MboSetRetainMboPositionInfo mboSetRetainMboPositionInfo)
                                                     throws MXException,
                                                            java.rmi.RemoteException
    Update the position data for related MboSets.
    Parameters:
    currentMbo -
    mboSetRetainMboPositionData -
    mboSetRetainMboPositionInfo -
    Throws:
    MXException
    java.rmi.RemoteException
  • getRetainRecordLimit

    protected int getRetainRecordLimit()
                                throws MXException,
                                       java.rmi.RemoteException
    Returns the retain record limit.
    Returns:
    Throws:
    MXException
    java.rmi.RemoteException
  • isRetainRecordEnabled

    protected boolean isRetainRecordEnabled()
                                     throws MXException,
                                            java.rmi.RemoteException
    Is the retain record feature enabled?
    Returns:
    true, if enabled, otherwise false.
    Throws:
    MXException
    java.rmi.RemoteException
  • setDBFetchMaxRows

    public void setDBFetchMaxRows(int fetchLimit)
                           throws java.rmi.RemoteException
    Description copied from interface: MboSetRemote
    Set the fetch limit for this MboSet. When the fetch limit is set to a >0 number, the database query issued for this MboSet will only fetch this many records. If an order by is used on this MboSet, the order by will only take effect within the fetch limit of the set. For example, if you set fetch limit to 500, and you have a order by of record number desc, the lagest desc may not appear in the returned 500 records. You should only set the fetch limit for the MboSet for display purpose only, not involved in business logic that needs to process all the records in the set.
    Specified by:
    setDBFetchMaxRows in interface MboSetRemote
    Parameters:
    fetchLimit - a possitive number. If -1 or 0, the fetch limit will be turned off.
    Throws:
    java.rmi.RemoteException
    See Also:
    psdi.mbo.MboSetRemote#setFetchLimit(int)
  • getDBFetchMaxRows

    public int getDBFetchMaxRows()
                          throws java.rmi.RemoteException
    Description copied from interface: MboSetRemote
    Returns the fetch limit that has been set on this MboSet. It will return -1 if fetch limit hasn't been set.
    Specified by:
    getDBFetchMaxRows in interface MboSetRemote
    Returns:
    Throws:
    java.rmi.RemoteException
    See Also:
    psdi.mbo.MboSetRemote#getFetchLimit()
  • setSkipFirstNRows

    public void setSkipFirstNRows(int skipRows)
    Set how many rows to skip when fetching from the MboSet. This method has to be called before the fetching is started, basically befor eany getMbo(index) is called. The index of the Mbos will be as if it started from skipRows. So, the getMbo(0) will return the first row after the rows are skipped.
    Parameters:
    skipRows -
  • getSkipFirstNRows

    public int getSkipFirstNRows()
  • getSetOrderByForUI

    public java.lang.String getSetOrderByForUI()
                                        throws java.rmi.RemoteException
    Specified by:
    getSetOrderByForUI in interface MboSetRemote
    Throws:
    java.rmi.RemoteException
  • setSetOrderByForUI

    public void setSetOrderByForUI(java.lang.String orderBy)
                            throws java.rmi.RemoteException
    Specified by:
    setSetOrderByForUI in interface MboSetRemote
    Throws:
    java.rmi.RemoteException
  • isDeltaStorage

    public boolean isDeltaStorage(Mbo mbo,
                                  java.lang.String tableName)
                           throws java.rmi.RemoteException,
                                  MXException
    Throws:
    java.rmi.RemoteException
    MXException
  • insertDeltaRow

    protected void insertDeltaRow(java.sql.Connection con,
                                  Mbo mbo,
                                  java.lang.String tableName)
                           throws MXException,
                                  java.rmi.RemoteException,
                                  java.sql.SQLException
    Throws:
    MXException
    java.rmi.RemoteException
    java.sql.SQLException
  • dump

    public static java.lang.String dump(java.lang.Object object)
  • setFederatedResources

    public void setFederatedResources(java.lang.String federatedResourcesStr)
                               throws MXException,
                                      java.rmi.RemoteException
    Pass the string that describes the federated resources to the processor.
    Throws:
    MXException
    java.rmi.RemoteException
  • addFederatedMboToSorter

    public void addFederatedMboToSorter(MboRemote mbo)
    This method is used to add a federated mbo into the sorter.
  • executeBatch

    public void executeBatch()
                      throws MXException,
                             java.rmi.RemoteException
    Throws:
    MXException
    java.rmi.RemoteException
  • getPreparedStmt

    public java.sql.PreparedStatement getPreparedStmt(java.sql.Connection con,
                                                      java.lang.String sql)
                                               throws MXException,
                                                      java.rmi.RemoteException
    Throws:
    MXException
    java.rmi.RemoteException
  • clearBatchedPreparedStmt

    public void clearBatchedPreparedStmt(java.lang.String sql)
  • clearBatchedPreparedStmts

    public void clearBatchedPreparedStmts()
  • applyAppSpecificAuthorization

    public void applyAppSpecificAuthorization()
                                       throws MXException,
                                              java.rmi.RemoteException
    Throws:
    MXException
    java.rmi.RemoteException
  • countAndCleanup

    public int countAndCleanup()
                        throws MXException,
                               java.rmi.RemoteException
    Returns a count of records in this MboSet and calls cleanup.
    Throws:
    MXException
    java.rmi.RemoteException
  • countAndCleanup

    public int countAndCleanup(int countConstant)
                        throws MXException,
                               java.rmi.RemoteException
    Returns a count of records in this MboSet and calls cleanup. The countConstant parameter is a constant from psdi.mbo.MboConstants.
    Throws:
    MXException
    java.rmi.RemoteException
  • setMboCtx

    public void setMboCtx(java.lang.String propName,
                          java.lang.Object o)
  • getMboCtx

    public java.lang.Object getMboCtx(java.lang.String propName)
  • removeCtx

    public java.lang.Object removeCtx(java.lang.String propName)
  • addJoinedAttribute

    public void addJoinedAttribute(java.lang.String alias,
                                   java.lang.String qualifiedAttr)
    add a joined attribute - alias is the alias and qualifiedAttr is the db attribute name. Example - score,ahscore.healthscore - where score is the alias and the ahscore.healthscore is the tablename.attributename for the joined table.
  • removeJoinedAttribute

    public void removeJoinedAttribute(java.lang.String alias)
    clear a joined attribute - based on the alias
  • removeAllJoinedAttributes

    public void removeAllJoinedAttributes()
    clear all joined attributes
  • isJoinedAttribute

    public boolean isJoinedAttribute(java.lang.String attr)
    returns true is this is a joined attribute and false otherwise.