com.codestreet.messageforge
Class RFldXml

java.lang.Object
  extended bycom.codestreet.messageforge.RFld
      extended bycom.codestreet.messageforge.RFldXml
All Implemented Interfaces:
RFldInterface, java.io.Serializable

public class RFldXml
extends RFld

Class to represent a String field. This String should typically be a XML string.

Author:
Jawaid Hakim.
See Also:
Serialized Form

Field Summary
protected  java.lang.String dataObj_
          Data.
protected static java.lang.String XML_TAG
          XML tag for this element type.
 
Fields inherited from class com.codestreet.messageforge.RFld
desc_, fieldId_, locked_, name_, optional_, propertyName_, tags_, transient_, valSet_
 
Constructor Summary
RFldXml(java.lang.String name, int fieldId)
          Constructor.
RFldXml(java.lang.String name, int fieldId, java.lang.String desc)
          Constructor.
 
Method Summary
 boolean equals(java.lang.Object anObject)
          Check if another field is equal to this field.
 java.lang.String getTag()
          Get the XML tag for this field type.
 RFldType getType()
          Get field type.
 java.lang.String getValue()
          Get data.
 java.util.Hashtable getValueAsHashtable()
          Get the field value as a java.util.Hashtable.
 java.lang.Object getValueAsObject()
          Get the field value as an object.
 java.lang.String getValueAsString()
          Get the field value as a Base64 encoded String.
 int hashCode()
          Returns the hash code value for the field array.
 void reset()
          Reset the field value.
 RFld set(byte[] newData)
          Set data.
 RFld set(org.jdom.Element elem)
          Set the field value from a JDOM element.
 RFld set(java.lang.Object newData)
          Set data.
 RFld set(java.lang.String newData)
          Set data.
static void setTag(java.lang.String tag)
          Set the XML tag for this field type.
 void validate()
          Validate against constraints.
 void validate(java.lang.String newData)
          Check if a new value will satifsy constraints.
 
Methods inherited from class com.codestreet.messageforge.RFld
addConstraint, buildMinMaxConstraintKey, getConstraint, getConstraintCount, getDesc, getId, getName, getOptional, getPropertyName, getTags, getTransient, isConstrained, isLocked, isProperty, isValSet, marshal, marshal, setId, setLocked, setName, setOptional, setPropertyName, setTags, setTransient, setXmlAttrNames, setXmlTags
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XML_TAG

protected static transient java.lang.String XML_TAG
XML tag for this element type.


dataObj_

protected java.lang.String dataObj_
Data.

Constructor Detail

RFldXml

public RFldXml(java.lang.String name,
               int fieldId)
Constructor.

Parameters:
name - Field name.
fieldId - Field id. Field ids must be either 0 to indicate that there is no id on the field, or greater. In addition, field ids must be unique within a messages - no two fields are allowed to have the same field id.

RFldXml

public RFldXml(java.lang.String name,
               int fieldId,
               java.lang.String desc)
Constructor.

Parameters:
name - Field name.
fieldId - Field id. Field ids must be either 0 to indicate that there is no id on the field, or greater. In addition, field ids must be unique within a messages - no two fields are allowed to have the same field id.
desc - Field description.
Method Detail

getType

public final RFldType getType()
Get field type.

Specified by:
getType in interface RFldInterface
Specified by:
getType in class RFld
Returns:
Field type XML.
See Also:
RFldType

equals

public boolean equals(java.lang.Object anObject)
Check if another field is equal to this field. Equality is defined as the fields having the same value. The bytes of the xml message are compared.

Specified by:
equals in class RFld
Parameters:
anObject - Another field.
Returns:
true if another field is equal to this field. Otherwise, returns false.

hashCode

public int hashCode()
Returns the hash code value for the field array. The hash code of the array is the sum of the hash code (byte values) for each entry in the array, the byte in the array are cast to an int.

Specified by:
hashCode in class RFld
Returns:
a value of type 'int'

reset

public void reset()
           throws FieldValidationException
Reset the field value.

Specified by:
reset in class RFld
Throws:
FieldValidationException
See Also:
RFld.isValSet()

set

public RFld set(java.lang.String newData)
         throws FieldValidationException
Set data. The String must be Base64 encoded.

Parameters:
newData - New data.
Throws:
FieldValidationException
See Also:
RBase64

set

public RFld set(java.lang.Object newData)
         throws FieldValidationException
Set data.

Specified by:
set in interface RFldInterface
Specified by:
set in class RFld
Parameters:
newData - New data.
Returns:
Reference to self so method chaining can be used.
Throws:
FieldValidationException

set

public RFld set(byte[] newData)
         throws FieldValidationException
Set data.

Parameters:
newData - New data.
Throws:
FieldValidationException

set

public final RFld set(org.jdom.Element elem)
               throws FieldValidationException
Set the field value from a JDOM element.

Specified by:
set in interface RFldInterface
Specified by:
set in class RFld
Parameters:
elem - Field value as a JDOM element.
Returns:
Reference to self so method chaining can be used.
Throws:
FieldValidationException

validate

public void validate()
              throws FieldValidationException
Validate against constraints. A field is valid if either it's value is set and satisfies all constraints, or the the field is optional.

Specified by:
validate in class RFld
Throws:
FieldValidationException

validate

public void validate(java.lang.String newData)
              throws FieldValidationException
Check if a new value will satifsy constraints.

Parameters:
newData - New value.
Throws:
FieldValidationException

getValue

public java.lang.String getValue()
Get data.

Returns:
data Data. Returns null if the field value is not set.

getValueAsObject

public java.lang.Object getValueAsObject()
Get the field value as an object.

Returns:
Field value as an object. Returns null if the field value is not set.

getValueAsString

public java.lang.String getValueAsString()
Get the field value as a Base64 encoded String.

Specified by:
getValueAsString in class RFld
Returns:
Field value as a Base64 encoded String. Returns null if the field value is not set.
See Also:
RBase64

getValueAsHashtable

public java.util.Hashtable getValueAsHashtable()
                                        throws FieldValidationException
Get the field value as a java.util.Hashtable. Not supported - throws an exception.

Returns:
Field value as java.util.Hashtable. Returns null if the field value is not set.
Throws:
FieldValidationException

getTag

public final java.lang.String getTag()
Get the XML tag for this field type.

Specified by:
getTag in class RFld
Returns:
XML tag for this field type.

setTag

public static void setTag(java.lang.String tag)
Set the XML tag for this field type.

Parameters:
tag - New XML tag for this field type.


Copyright © 2003-2006 CodeStreet. All Rights Reserved.