public abstract class PropertyProcessor<K,V,R> extends AbstractProcessor<K,V,R> implements ExternalizableLite, PortableObject
Any concrete subclass would have to implement the methods of ExternalizableLite interface calling the appropriate super class implementations first.
A typical concrete subclass would also implement the process() method using the following pattern:
public Object process(InvocableMap.Entry entry)
{
// retrieve an old property value
Object oOldValue = get(entry);
... // calculate a new value and the process result
... // based on the old value and the processor's attributes
if (!oNewValue.equals(oOldValue))
{
// set the new property value
set(entry, oNewValue);
}
// return the process result
return oResult;
}
Base.LoggingWriter, Base.StackFrame| Modifier and Type | Field and Description |
|---|---|
protected ValueManipulator<V,R> |
m_manipulator
The property value manipulator.
|
| Constructor and Description |
|---|
PropertyProcessor()
Default constructor (necessary for the ExternalizableLite interface).
|
PropertyProcessor(String sName)
Construct a PropertyProcessor for the specified property name.
|
PropertyProcessor(String sName, boolean fUseIs)
Construct a PropertyProcessor for the specified property name.
|
PropertyProcessor(ValueManipulator<V,R> manipulator)
Construct a PropertyProcessor based for the specified ValueManipulator.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o)
Compare the PropertyProcessor with another object to determine equality.
|
protected R |
get(InvocableMap.Entry<K,V> entry)
Get the property value from the passed Entry object.
|
protected abstract String |
getDescription()
Returns this PropertyProcessor's description.
|
int |
hashCode()
Determine a hash value for the PropertyProcessor object according to the general
Object.hashCode() contract. |
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using the specified PofReader object.
|
protected void |
set(InvocableMap.Entry<K,V> entry, R oValue)
Set the property value into the passed Entry object.
|
String |
toString()
Return a human-readable description for this PropertyProcessor.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
|
processAllazzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, waitclone, finalize, getClass, notify, notifyAll, wait, wait, waitprocessprotected ValueManipulator<V,R> m_manipulator
public PropertyProcessor()
public PropertyProcessor(String sName)
This constructor assumes that the corresponding property getter will have a name of ("get" + sName) and the corresponding property setter's name will be ("set + sName).
sName - a property namepublic PropertyProcessor(String sName, boolean fUseIs)
This constructor assumes that the corresponding property getter will have a name of either ("get" + sName) or ("is + sName) and the corresponding property setter's name will be ("set + sName).
sName - a property namefUseIs - if true, the getter method will be prefixed with "is" rather than "get"public PropertyProcessor(ValueManipulator<V,R> manipulator)
manipulator - a ValueManipulator; could be nullprotected R get(InvocableMap.Entry<K,V> entry)
entry - the Entry objectValueExtractor.extract(T)protected void set(InvocableMap.Entry<K,V> entry, R oValue)
entry - the Entry objectoValue - a new property valueValueUpdater.update(T, U)protected abstract String getDescription()
public boolean equals(Object o)
public int hashCode()
Object.hashCode() contract.public String toString()
public void readExternal(DataInput in) throws IOException
readExternal in interface ExternalizableLitein - the DataInput stream to read data from in order to restore the state of this objectIOException - if an I/O exception occursNotActiveException - if the object is not in its initial state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal in interface ExternalizableLiteout - the DataOutput stream to write the state of this object toIOException - if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
readExternal in interface PortableObjectin - the PofReader from which to read the object's stateIOException - if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
writeExternal in interface PortableObjectout - the PofWriter to which to write the object's stateIOException - if an I/O error occurs