Package com.tangosol.run.xml
Class SimpleValue
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.run.xml.SimpleValue
- All Implemented Interfaces:
ExternalizableLite
,PortableObject
,XmlValue
,Serializable
,Cloneable
- Direct Known Subclasses:
SimpleElement
public class SimpleValue
extends ExternalizableHelper
implements XmlValue, Cloneable, ExternalizableLite, PortableObject
A simple implementation of the XmlValue interface. Protected methods are
provided to support inheriting classes.
- Author:
- cp 2000.10.18
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.ExternalizableHelper
ExternalizableHelper.DecoratedMultiBufferReadBuffer, ExternalizableHelper.DefaultObjectStreamFactory, ExternalizableHelper.FormatAwareCompressor, ExternalizableHelper.IntDecoratedObject, ExternalizableHelper.Shielded, ExternalizableHelper.ShieldedDataOutputStream, ExternalizableHelper.ShieldedInputStream, ExternalizableHelper.ShieldedObjectOutputStream, ExternalizableHelper.ShieldedOutputStream, ExternalizableHelper.SimpleXmlBeanClassCache, ExternalizableHelper.Stats, ExternalizableHelper.XmlBeanClassCache
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
Fields inherited from class com.tangosol.util.ExternalizableHelper
BINARY_SIZE, CHUNK_SIZE, CHUNK_THRESHOLD, CONVERTER_FROM_BINARY, CONVERTER_STRIP_INTDECO, CONVERTER_TO_BINARY, DECO_APP_1, DECO_APP_2, DECO_APP_3, DECO_BACKUP, DECO_CUSTOM, DECO_EXPIRY, DECO_ID_MAX, DECO_ID_MIN, DECO_JCACHE, DECO_JCACHE_SYNTHETIC, DECO_MEMCACHED, DECO_PUSHREP, DECO_QUEUE_METADATA, DECO_RSVD_1, DECO_STORE, DECO_TX, DECO_VALUE, DECO_WLS, EMPTY_BINARY_ARRAY, FMT_B_ARRAY, FMT_BIN_DECO, FMT_BIN_EXT_DECO, FMT_BINARY, FMT_BOOLEAN, FMT_BYTE, FMT_DECIMAL, FMT_DOUBLE, FMT_EXT, FMT_FLOAT, FMT_IDO, FMT_INT, FMT_INTEGER, FMT_LONG, FMT_NONE, FMT_NULL, FMT_OBJ_EXT, FMT_OBJ_SER, FMT_OPT, FMT_OPT_DOUBLE, FMT_OPT_INT, FMT_OPT_LONG, FMT_SHORT, FMT_STRING, FMT_UNKNOWN, FMT_XML_BEAN, FMT_XML_SER, FORCE_RESOLVING_STREAMS, LAMBDA_SERIALIZATION, MAX_DECO_HEADER_BYTES, PACKED_INT_SIZE, PACKED_LONG_SIZE, PROPERTY_CONFIG, s_streamfactory, TRINT_DOMAIN_SPAN, TRINT_MAX_VALUE, TRINT_MAX_VARIANCE, USE_POF_STREAMS, USE_XMLBEAN_CLASS_CACHE, XMLBEAN_CLASS_CACHE
Fields inherited from class com.tangosol.util.Base
LOG_ALWAYS, LOG_CONFIG, LOG_DEBUG, LOG_ERR, LOG_INFO, LOG_MAX, LOG_MIN, LOG_QUIET, LOG_WARN, POWER_0, POWER_G, POWER_K, POWER_M, POWER_T, UNIT_D, UNIT_H, UNIT_M, UNIT_MS, UNIT_NS, UNIT_S, UNIT_US
Fields inherited from interface com.tangosol.run.xml.XmlValue
TYPE_BINARY, TYPE_BOOLEAN, TYPE_DATE, TYPE_DATETIME, TYPE_DECIMAL, TYPE_DOUBLE, TYPE_INT, TYPE_LONG, TYPE_STRING, TYPE_TIME
-
Constructor Summary
ConstructorDescriptionConstruct an empty SimpleValue.SimpleValue
(Object oValue) Construct a SimpleValue.SimpleValue
(Object oValue, boolean fAttribute) Construct a SimpleValue.SimpleValue
(Object oValue, boolean fAttribute, boolean fReadOnly) Construct a SimpleValue. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Creates and returns a copy of this SimpleValue.protected Object
Convert the passed Object to the specified type.protected Object
ensureType
(int nType) Change the type of the internal representation of the XmlValue.boolean
Compare this XML value with another XML value for equality.Get the value as binary.Get the value as binary.boolean
Get the value as a boolean.boolean
getBoolean
(boolean fDefault) Get the value as a boolean.getDate()
Get the value as a Date.Get the value as a Date.Get the value as a Timestamp.getDateTime
(Timestamp dtDefault) Get the value as a Timestamp.Get the value as a decimal.getDecimal
(BigDecimal decDefault) Get the value as a decimal.double
Get the value as a double.double
getDouble
(double dflDefault) Get the value as a double.int
getInt()
Get the value as an int.int
getInt
(int nDefault) Get the value as an int.protected Object
Get the internal value of this XmlValue.long
getLong()
Get the value as a long.long
getLong
(long lDefault) Get the value as a long.Get the parent element of this element.Get the value as a String.Get the value as a String.getTime()
Get the value as a Time.Get the value as a Time.getValue()
Get the value as an Object.int
hashCode()
Provide a hash value for this XML value.boolean
Determine if this value is an element attribute.boolean
Determine if this value is an element's content.boolean
isEmpty()
Determine if the value is empty.boolean
Determine if this value can be modified.void
Restore the contents of a user type instance by reading its state using the specified PofReader object.void
Restore the contents of this object by loading the object's state from the passed DataInput object.protected void
setAttribute
(boolean fAttribute) Specify that this value is an element attribute.void
Set the binary value.void
setBoolean
(boolean fVal) Set the boolean value.void
Set the Date value.void
setDateTime
(Timestamp dtVal) Set the Timestamp value.void
setDecimal
(BigDecimal decVal) Set the dcimal value.void
setDouble
(double dflVal) Set the double value.void
setInt
(int nVal) Set the int value.protected void
setInternalValue
(Object oValue) Update the internal representation of the XmlValue.void
setLong
(long lVal) Set the long value.protected void
setMutable
(boolean fMutable) Specify whether this value can be modified or not.void
setParent
(XmlElement element) Set the parent element of this value.void
Set the String value.void
Set the Time value.toString()
Format the XML value into a String in a display format.void
writeExternal
(PofWriter out) Save the contents of a POF user type instance by writing its state using the specified PofWriter object.void
writeExternal
(DataOutput out) Save the contents of this object by storing the object's state into the passed DataOutput object.void
writeValue
(PrintWriter out, boolean fPretty) Write the value as it will appear in XML.Methods inherited from class com.tangosol.util.ExternalizableHelper
asBinary, calculatePackedLength, calculatePackedLength, checkObjectInputFilter, checkObjectInputFilter, checkObjectInputFilter, convertUTF, decodeExpiry, decorate, decorate, decorate, decorate, decorate, decorateBinary, encodeExpiry, ensureSerializer, extractIntDecoration, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromByteArray, fromByteArray, getClass, getConfigSerialFilter, getConfigSerialFilterFactory, getDecoration, getDecoration, getDecorations, getDeltaCompressor, getInputStream, getNewObjectInput, getObjectInput, getObjectInputFilter, getObjectOutput, getObjectStreamFactory, getOutputStream, getShieldedOutputStream, getStreamFormat, getUndecorated, getUndecorated, isDecorated, isDecorated, isIntDecorated, isIntDecorated, isResolving, isSerializable, isSerializerCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, loadClass, loadResource, main, makeTrint, readBigDecimal, readBigInteger, readBooleanArray, readBooleanArray, readByteArray, readCharArray, readCharArray, readCollection, readDate, readDoubleArray, readDoubleArray, readExternalizableLite, readExternalizableLite, readFloatArray, readFloatArray, readInt, readInt, readIntArray, readIntArray, readIntArray2d, readLargeBooleanArray, readLargeByteArray, readLargeCharArray, readLargeDoubleArray, readLargeFloatArray, readLargeIntArray, readLargeLongArray, readLargeObjectArray, readLargeStringArray, readLong, readLong, readLongArray, readLongArray, readMap, readMap, readObject, readObject, readObjectArray, readObjectArray, readSafeUTF, readSafeUTF, readSerializable, readSerializable, readStringArray, readStringArray, readTime, readTimestamp, readTrint, readUnsignedTrint, readUTF, readXmlBean, readXmlSerializable, readXmlSerializable, realize, removeIntDecoration, removeIntDecoration, replace, reportIncompatibleSerializers, setObjectStreamFactory, toBinary, toBinary, toBinary, toByteArray, toByteArray, toByteArray, toLiteBinary, toLong, undecorate, undecorate, validateBufferSize, validateLoadArray, validateLoadClass, writeBigDecimal, writeBigInteger, writeBooleanArray, writeByteArray, writeCollection, writeDate, writeDoubleArray, writeExternalizableLite, writeFloatArray, writeInt, writeInt, writeIntArray2d, writeLong, writeLong, writeMap, writeObject, writeSafeUTF, writeSafeUTF, writeSerializable, writeStringArray, writeTime, writeTimestamp, writeTrint, writeTrint, writeUTF, writeXmlBean, writeXmlSerializable
Methods inherited from class com.tangosol.util.BitHelper
countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString, toBytes, toBytes, toBytes, toBytes, toInt, toInt, toLong
Methods inherited from class com.tangosol.util.Base
azzert, 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, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, 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, 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, wait
-
Constructor Details
-
SimpleValue
public SimpleValue()Construct an empty SimpleValue. Also used by the ExternalizableLite implementation. -
SimpleValue
Construct a SimpleValue. This form constructs an element's content value from the passed Object value. If the Object is a String, then the String should be un-escaped by this point; it must not still be in the form of the CDATA construct.- Parameters:
oValue
- the initial value for this SimpleValue- Throws:
IllegalArgumentException
- if the String value is illegal
-
SimpleValue
Construct a SimpleValue. This form constructs an element's content or attribute value from the passed String value. The String should be un-escaped by this point; it must not still be in the form of the CDATA construct.- Parameters:
oValue
- the initial value for this SimpleValuefAttribute
- true if this SimpleValue is an element attribute value; false if an element's content's value- Throws:
IllegalArgumentException
- if the String value is illegal
-
SimpleValue
Construct a SimpleValue. This form constructs an element's content or attribute value from the passed String value, and also allows the caller to specify that the value is immutable. The String should be un-escaped by this point; it must not still be in the form of the CDATA construct.- Parameters:
oValue
- the initial value for this SimpleValuefAttribute
- true if this SimpleValue is an element attribute value; false if an element's content's valuefReadOnly
- true if this SimpleValue is intended to be read- only once the constructor has finished- Throws:
IllegalArgumentException
- if the String value is illegal
-
-
Method Details
-
getBoolean
public boolean getBoolean()Get the value as a boolean.- Specified by:
getBoolean
in interfaceXmlValue
- Returns:
- the value as a boolean
-
getBoolean
public boolean getBoolean(boolean fDefault) Get the value as a boolean.- Specified by:
getBoolean
in interfaceXmlValue
- Parameters:
fDefault
- the default return value if the internal value can not be translated into a legal value of type boolean- Returns:
- the value as a boolean
-
setBoolean
public void setBoolean(boolean fVal) Set the boolean value.- Specified by:
setBoolean
in interfaceXmlValue
- Parameters:
fVal
- a new value of type boolean
-
getInt
public int getInt()Get the value as an int. -
getInt
public int getInt(int nDefault) Get the value as an int. -
setInt
public void setInt(int nVal) Set the int value. -
getLong
public long getLong()Get the value as a long. -
getLong
public long getLong(long lDefault) Get the value as a long. -
setLong
public void setLong(long lVal) Set the long value. -
getDouble
public double getDouble()Get the value as a double. -
getDouble
public double getDouble(double dflDefault) Get the value as a double. -
setDouble
public void setDouble(double dflVal) Set the double value. -
getDecimal
Get the value as a decimal.- Specified by:
getDecimal
in interfaceXmlValue
- Returns:
- the value as a BigDecimal
-
getDecimal
Get the value as a decimal.- Specified by:
getDecimal
in interfaceXmlValue
- Parameters:
decDefault
- the default return value if the internal value can not be translated into a legal value of type decimal- Returns:
- the value as a decimal
-
setDecimal
Set the dcimal value.- Specified by:
setDecimal
in interfaceXmlValue
- Parameters:
decVal
- a new value of type BigDecimal
-
getString
Get the value as a String. -
getString
Get the value as a String. -
setString
Set the String value.- Specified by:
setString
in interfaceXmlValue
- Parameters:
sVal
- a new value of type String- Throws:
IllegalArgumentException
- if the String value is null
-
getBinary
Get the value as binary. The XML format is expected to be Base64. -
getBinary
Get the value as binary. The XML format is expected to be Base64. -
setBinary
Set the binary value.- Specified by:
setBinary
in interfaceXmlValue
- Parameters:
binVal
- a new value of type Binary- Throws:
IllegalArgumentException
- if the binary value is null
-
getDate
Get the value as a Date. -
getDate
Get the value as a Date. -
setDate
Set the Date value. -
getTime
Get the value as a Time. -
getTime
Get the value as a Time. -
setTime
Set the Time value. -
getDateTime
Get the value as a Timestamp.- Specified by:
getDateTime
in interfaceXmlValue
- Returns:
- the value as a Timestamp
-
getDateTime
Get the value as a Timestamp.- Specified by:
getDateTime
in interfaceXmlValue
- Parameters:
dtDefault
- the default return value if the internal value can not be translated into a legal value of type Timestamp- Returns:
- the value as a Timestamp
-
setDateTime
Set the Timestamp value.- Specified by:
setDateTime
in interfaceXmlValue
- Parameters:
dtVal
- a new value of type Timestamp
-
getValue
Get the value as an Object. The following types are supported: Boolean Integer Long Double BigDecimal String Binary Date Time Timestamp It is always legal for an implementation to return the value as a String, for example returning a binary value in a base64 encoding. This method exists to allow one value to copy from another value. -
getParent
Get the parent element of this element. -
setParent
Set the parent element of this value. The parent cannot be modified once set.- Specified by:
setParent
in interfaceXmlValue
- Parameters:
element
- the parent element- Throws:
IllegalArgumentException
- thrown if the specified parent is nullIllegalStateException
- throw if the parent is already set
-
isEmpty
public boolean isEmpty()Determine if the value is empty. -
isAttribute
public boolean isAttribute()Determine if this value is an element attribute.- Specified by:
isAttribute
in interfaceXmlValue
- Returns:
- true if this value is an element attribute, otherwise false
-
isContent
public boolean isContent()Determine if this value is an element's content. -
isMutable
public boolean isMutable()Determine if this value can be modified. If the value cannot be modified, all mutating methods are required to throw an UnsupportedOperationException. -
writeValue
Write the value as it will appear in XML.- Specified by:
writeValue
in interfaceXmlValue
- Parameters:
out
- a PrintWriter object to use to write tofPretty
- true to specify that the output is intended to be as human readable as possible
-
readExternal
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in interfaceExternalizableLite
- Parameters:
in
- the DataInput stream to read data from in order to restore the state of this object- Throws:
IOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized into
-
writeExternal
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in interfaceExternalizableLite
- Parameters:
out
- the DataOutput stream to write the state of this object to- Throws:
IOException
- if an I/O exception occurs
-
readExternal
Restore the contents of a user type instance by reading its state using the specified PofReader object.- Specified by:
readExternal
in interfacePortableObject
- Parameters:
in
- the PofReader from which to read the object's state- Throws:
IOException
- if an I/O error occurs
-
writeExternal
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.- Specified by:
writeExternal
in interfacePortableObject
- Parameters:
out
- the PofWriter to which to write the object's state- Throws:
IOException
- if an I/O error occurs
-
getInternalValue
Get the internal value of this XmlValue. This method acts as a single point to which all accessor calls route. As such, it is intended to be extended by inheriting implementations.- Returns:
- the current value of this SimpleValue object or null
-
setInternalValue
Update the internal representation of the XmlValue. This method acts as a single point to which all mutator calls route. As such, it is intended to be extended by inheriting implementations.- Parameters:
oValue
- the new value for this SimpleValue object- Throws:
UnsupportedOperationException
- if this XmlValue is not mutable
-
ensureType
Change the type of the internal representation of the XmlValue. A failed conversion will leave the value as null.- Parameters:
nType
- the enumerated type to convert to- Returns:
- the current value of this SimpleValue object as the specified type or null
-
convert
Convert the passed Object to the specified type.- Parameters:
o
- the object valuenType
- the enumerated type to convert to- Returns:
- an object of the specified type
-
setAttribute
protected void setAttribute(boolean fAttribute) Specify that this value is an element attribute.- Parameters:
fAttribute
- true if this value is an element attribute, false if this value is an element's content
-
setMutable
protected void setMutable(boolean fMutable) Specify whether this value can be modified or not.- Parameters:
fMutable
- pass true to allow this value to be modified, otherwise false to indicate that this value is read-only
-
toString
Format the XML value into a String in a display format. -
hashCode
public int hashCode()Provide a hash value for this XML value. The hash value is defined as one of the following:- 0 if getValue() returns null
- otherwise the hash value is the hashCode() of the string representation of the value
-
equals
Compare this XML value with another XML value for equality. -
clone
Creates and returns a copy of this SimpleValue. The returned copy is "unlinked" from the parent and mutable
-