Expresso 5-6

com.jcorporate.expresso.ext.xml.dbobj
Class UserAgent

java.lang.Object
  extended bycom.jcorporate.expresso.core.dataobjects.BaseDataObject
      extended bycom.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
          extended bycom.jcorporate.expresso.core.dbobj.DBObject
              extended bycom.jcorporate.expresso.core.dbobj.SecuredDBObject
                  extended bycom.jcorporate.expresso.ext.xml.dbobj.UserAgent
All Implemented Interfaces:
Cacheable, ContextNested, DataObject, LookupInterface, Securable, Serializable

public class UserAgent
extends SecuredDBObject

Entries here define the other VM's (even on other servers) that are also using this database, and with whom cache synchronizations should be attempted. Note that for this to work, the db/context names on the remote servers must be the same as the db/context names here.

Author:
Michael Nash
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.jcorporate.expresso.core.dbobj.DBObject
DBObject.FieldError, DBObject.FieldUpdate
 
Field Summary
protected static org.apache.oro.text.regex.PatternCompiler compiler
          Used for regular expression compilation
protected static org.apache.oro.text.regex.PatternMatcher matcher
          Used to match compiled patterns against strings
protected static Map regExpCache
          Used to hold compiled regular expressions in an attempt to speed up pattern matching.
 
Fields inherited from class com.jcorporate.expresso.core.dbobj.SecuredDBObject
ADD, ALL_FUNCTIONS, CACHE_NAME, CACHE_TTY, DELETE, SEARCH, SYSTEM_ACCOUNT, SYSTEM_ACCOUNT_NAME, UPDATE
 
Fields inherited from class com.jcorporate.expresso.core.dbobj.DBObject
ATTRIBUTE_ERROR, ATTRIBUTE_ERROR_MESSAGE, ATTRIBUTE_PAGE_LIMIT, BIG_DECIMAL_ZERO, EMAIL_MASK, EVENT_ADD, EVENT_DELETE, EVENT_UPDATE, FLOAT_MASK, INT_MASK, IS_CHECK_RELATIONAL_INTEGRITY, UPDATE_CHANGED_ONLY, WHERE_KEYWORD
 
Fields inherited from class com.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
anyFieldsDistinct, anyFieldsToRetrieve, appendCustomWhere, caseSensitiveQuery, customWhereClause, dbKey, distinctFields, localConnection, LONGBINARY_READ_DEFAULT_SIZE, maxRecords, myClassName, myUpdates, offsetRecord, recordSet, retrieveFields, sMetadataMap, sortKeys
 
Fields inherited from class com.jcorporate.expresso.core.dataobjects.BaseDataObject
currentStatus, globalMask
 
Fields inherited from interface com.jcorporate.expresso.core.dataobjects.DataObject
STATUS_CURRENT, STATUS_DELETED, STATUS_NEW, STATUS_UPDATED
 
Constructor Summary
UserAgent()
          Constructor
UserAgent(int uid)
          Constructor that sets the 'owner' of this DBObject class.
 
Method Summary
 boolean getMatch(String userAgentString)
          Figure out which UserAgent entry this User-Agent string from the browser should match & set this db object to the appropriate object.
 DBObject getThisDBObj()
          Standard method to return a new UserAgent object
 Vector getValidValues(String fieldName)
          Override the method getValues to provide specific values for our multi-valued fields
 Vector getValues()
          Method to return a Vector of ValidValue Template method--not implemented in this superclass.
 void populateDefaultValues()
          populateDefaultValues is called by the schema object to allow a table to populate itself with any desired values.
 void setupFields()
          Define the table and fields for this object
 
Methods inherited from class com.jcorporate.expresso.core.dbobj.SecuredDBObject
add, canRequesterAdd, canRequesterDelete, canRequesterRead, canRequesterUpdate, checkAllowed, copyAttributes, count, createSecurityCache, delete, deleteAll, find, getRequestingUid, getString, getString, getString, getString, getString, getString, getSystemUid, instantiate, isAllowed, retrieve, search, searchAndRetrieveList, searchAndRetrieveList, setRequestingUid, update
 
Methods inherited from class com.jcorporate.expresso.core.dbobj.DBObject
addDetail, addField, addField, addFieldError, addFoundKeys, addIfNeeded, addIndex, addKey, addOrUpdate, addSortKey, addTransition, addVirtualField, addVirtualField, addVirtualField, addVirtualField, average, basicAdd, cacheIsChangedComparison, checkAllReferredToBy, checkAllRefs, checkAllRefsPublic, checkDeleteDetailPerm, checkField, checkRef, checkRef, clear, clearDistinctFields, clearError, clearFieldsToRetrieve, clearSortKeys, containsWildCards, delete, deleteAll, deleteDetails, denotesRange, equals, forKey, formatDateTime, get, getAllAttributes, getAttribute, getAttributesIterator, getBooleanFieldValue, getCacheSize, getCacheStatsMap, getCacheUtil, getCheckZeroUpdate, getCustomWhereClause, getDataContext, getDataField, getDataTransferObject, getDBName, getDetails, getDistinctFieldCount, getDistinctFields, getField, getFieldBigDecimal, getFieldBoolean, getFieldByte, getFieldByteArray, getFieldData, getFieldDate, getFieldDecimalFormatted, getFieldDouble, getFieldErrorMessage, getFieldFloat, getFieldInt, getFieldLong, getFieldMetaData, getFieldShort, getFieldsToRetrieveCount, getFilterClass, getFoundCount, getFoundKeysArray, getIndexArray, getISOValuesDefault, getISOValuesDefault, getISOValuesDefault, getKey, getKeyFieldListIterator, getLength, getLengthInt, getLocalConnection, getLocale, getLogger, getLookupObject, getMax, getMax, getMaxRecords, getMyKeys, getMyUpdatesArray, getOffsetRecord, getPatternMatcher, getPrecision, getSerializedForm, getStringFilter, getThisDBbj, getValidValueDescrip, getValidValuesList, getValuesDefault, getValuesDefault, getValuesDefault, hasError, hasErrors, haveAllKeys, initialize, isCached, isChanged, isDistinct, isEmpty, isFieldDistinct, isFieldNull, isFieldsToRetrieve, isFieldToRetrieve, isMultiValued, isReadOnly, isSecret, isVirtual, loadFromConnection, logChange, max, min, newInstance, noNewLine, noQuotes, notifyListeners, referredToBy, removeAttribute, removeFromCache, retrieveFromCache, saveBinaryField, search, set, setAttribute, setCacheSize, setCharset, setCheckZeroUpdate, setConnection, setConnection, setCustomWhereClause, setCustomWhereClause, setDataContext, setDataField, setDataTransferObject, setDefaultValue, setDescription, setField, setField, setField, setField, setField, setField, setField, setField, setField, setField, setFieldData, setFieldData, setFieldDistinct, setFieldsToRetrieve, setFilterClass, setFilterClass, setKeys, setLocale, setLookupField, setLookupObject, setMask, setMaxRecords, setMultiValued, setName, setOffsetRecord, setReadOnly, setSchema, setSecret, setSortKey, setStringFilter, setStringFiltersOnAll, setTargetDbSchema, setTargetTable, sqlAggrFunction, sum, toDebugString, update, updateAll, updateAll, verify
 
Methods inherited from class com.jcorporate.expresso.core.dataobjects.jdbc.JDBCDataObject
addInParam, addOutParam, buildWhereClause, buildWhereClauseBuffer, checkZeroUpdate, constructNewMetaData, createAndExecuteSearch, createAndRunStoreProcedure, getConnectionPool, getCustomStringFieldValue, getDef, getDistinctFieldArrayList, getExecutor, getFieldsToRetrieveIterator, getJDBCMetaData, getJDBCUtil, getMappedDataContext, getMetaData, getQueryInterface, getSerialForm, loadFromConnection, makeLimitationStub, quoteIfNeeded, runStoredProcedure, runStoredProcedureAndRetrieveList, selectFieldString, setCaseSensitiveQuery, setDBConnectionPool, setDBName, setMappedDataContext, setOriginalDBName, setTargetStoreProcedure
 
Methods inherited from class com.jcorporate.expresso.core.dataobjects.BaseDataObject
getGlobalMask, getStatus, isGlobalMasked, setFieldsWithDefaults, setGlobalMask, setStatus
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

regExpCache

protected static Map regExpCache
Used to hold compiled regular expressions in an attempt to speed up pattern matching.


compiler

protected static org.apache.oro.text.regex.PatternCompiler compiler
Used for regular expression compilation


matcher

protected static org.apache.oro.text.regex.PatternMatcher matcher
Used to match compiled patterns against strings

Constructor Detail

UserAgent

public UserAgent()
          throws DBException
Constructor


UserAgent

public UserAgent(int uid)
          throws DBException
Constructor that sets the 'owner' of this DBObject class.

Parameters:
uid - The User's uid
Throws:
DBException - upon construction error
Method Detail

getValues

public Vector getValues()
                 throws DBException
Description copied from class: DBObject
Method to return a Vector of ValidValue Template method--not implemented in this superclass. This method may be implemented by objects that want to provide a list of valid values for other DB objects. It is strongly recommended that the valid value list be cached (via the CacheManager) for performance. The naming convention used in Expresso is to store the ValidValue list with a cache name the same as the db objects class name with ".validValues" appended TODO: This should be converted to array List versions

Specified by:
getValues in interface LookupInterface
Overrides:
getValues in class DBObject
Returns:
java.util.Vector of valid values
Throws:
DBException - upon error.
See Also:
DBObject.getValidValues(java.lang.String)

getMatch

public boolean getMatch(String userAgentString)
                 throws DBException
Figure out which UserAgent entry this User-Agent string from the browser should match & set this db object to the appropriate object.

Parameters:
userAgentString - the string of the user agent to match against
Returns:
true if we get a successful match.
Throws:
DBException - upon database communication error

getThisDBObj

public DBObject getThisDBObj()
                      throws DBException
Standard method to return a new UserAgent object

Overrides:
getThisDBObj in class DBObject
Returns:
DBObject A new CacheSync object
Throws:
DBException - If the new object cannot be created
See Also:
DBObject.getThisDBObj()

getValidValues

public Vector getValidValues(String fieldName)
                      throws DBException
Override the method getValues to provide specific values for our multi-valued fields

Overrides:
getValidValues in class DBObject
Parameters:
fieldName - Fielname to retrieve values for
Returns:
Vector of ValidValue Value/description pairs for this field
Throws:
DBException - If the values cannot be retrieved

setupFields

public void setupFields()
                 throws DBException
Define the table and fields for this object

Overrides:
setupFields in class DBObject
Throws:
DBException - If the fields cannot be set up

populateDefaultValues

public void populateDefaultValues()
                           throws DBException
Description copied from class: DBObject
populateDefaultValues is called by the schema object to allow a table to populate itself with any desired values.

The base class implementation does nothing. Override this method in derived classes to achieve your custom behavior.

The calling routine, DBTool.populateTables(), will set dbName on each object, so you can get it from getDataContext(), and you can assume that the user for the population action is Admin.

Overrides:
populateDefaultValues in class DBObject
Throws:
DBException - Upon add error, never if it isn't overridden.

Expresso 5-6

Please see www.jcorporate.com for information about new Expresso releases.