|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectecologylab.generic.Debug
ecologylab.xml.ElementState
ecologylab.xml.FieldDescriptor
public class FieldDescriptor
Used to provide convenient access for setting and getting values, using the ecologylab.xml type system. Provides marshalling and unmarshalling from Strings.
| Nested Class Summary |
|---|
| Field Summary | |
|---|---|
static java.lang.String |
NULL
|
static java.lang.Class[] |
SET_METHOD_ARG
|
| Fields inherited from class ecologylab.xml.ElementState |
|---|
CDATA, NORMAL, UTF16, UTF16_LE, UTF8 |
| Fields inherited from interface ecologylab.xml.XMLTranslationExceptionTypes |
|---|
FILE_NOT_FOUND, IO_EXCEPTION, NULL_PURL, UNKNOWN |
| Constructor Summary | |
|---|---|
FieldDescriptor()
Default constructor only for use by translateFromXML(). |
|
FieldDescriptor(ClassDescriptor baseClassDescriptor)
Constructor for the pseudo-FieldDescriptor associated with each ClassDesctiptor, for translateToXML of fields that deriveTagFromClass. |
|
FieldDescriptor(ClassDescriptor baseClassDescriptor,
FieldDescriptor wrappedFD,
java.lang.String wrapperTag)
|
|
FieldDescriptor(ClassDescriptor declaringClassDescriptor,
java.lang.reflect.Field field,
int annotationType)
This is the normal constructor. |
|
| Method Summary | |
|---|---|
void |
appendCollectionLeaf(org.w3c.dom.Element element,
java.lang.Object instance)
|
void |
appendLeaf(org.w3c.dom.Element element,
java.lang.Object instance)
Use this and the context to set an attribute (name, value) on the Element DOM Node passed in. |
void |
appendValueAsAttribute(java.lang.Appendable appendable,
java.lang.Object context)
Use this and the context to append an attribute / value pair to the Appendable passed in. |
void |
appendValueAsAttribute(java.lang.StringBuilder buffy,
java.lang.Object context)
Use this and the context to append an attribute / value pair to the StringBuilder passed in. |
void |
appendXmlText(org.w3c.dom.Element element,
java.lang.Object instance)
|
boolean |
belongsTo(ClassDescriptor c)
|
java.lang.String |
elementStart()
|
ElementState |
getAndPerhapsCreateNested(ElementState context)
|
java.util.Collection |
getCollection(ElementState context)
|
java.lang.String |
getCollectionOrMapTagName()
|
java.lang.reflect.Field |
getField()
|
java.lang.String |
getFieldName()
|
java.lang.Class<?> |
getFieldType()
|
java.lang.String[] |
getFormat()
|
java.util.Map |
getMap(ElementState context)
|
ElementState |
getNested(ElementState context)
|
ScalarType<?> |
getScalarType()
|
java.util.Collection<ClassDescriptor> |
getTagClassDescriptors()
|
java.lang.String |
getTagName()
NB: For polymorphic fields, the value of this field is meaningless, except for wrapped collections and maps. |
int |
getType()
|
java.lang.Class<?> |
getTypeArgClass(java.lang.reflect.Field field,
int i)
Get the value of the ith declared type argument from a field declaration. |
java.lang.String |
getValueString(ElementState context)
Get the String representation of the value of the field, in the context object, using the ScalarType. |
FieldDescriptor |
getWrappedFD()
|
java.lang.reflect.Field |
getXmlTextScalarField()
|
boolean |
hasXmlText()
|
boolean |
isCDATA()
|
boolean |
isCollection()
|
boolean |
isMarshallOnly()
Used to describe scalar types used for serializing the type system, itself. |
boolean |
isMixin()
|
boolean |
isNeedsEscaping()
|
boolean |
isNested()
|
boolean |
isNonNullReference(ElementState context)
|
boolean |
isPolymorphic()
Most fields derive their tag from Field name for marshaling. |
boolean |
isPseudoScalar()
|
boolean |
isScalar()
|
boolean |
isWrapped()
|
boolean |
isXmlNsDecl()
|
void |
set(ElementState context,
java.lang.Object value)
In the supplied context object, set the non-scalar field to a non-scalar value. |
boolean |
set(ElementState context,
java.lang.String valueString)
|
boolean |
set(ElementState context,
java.lang.String valueString,
ScalarUnmarshallingContext scalarUnMarshallingContext)
In the supplied context object, set the *typed* value of the field, using the valueString passed in. |
void |
setAttribute(org.w3c.dom.Element element,
java.lang.Object context)
Use this and the context to set an attribute (name, value) on the Element DOM Node passed in. |
void |
setField(ElementState context,
java.lang.Object value)
|
java.lang.String |
toString()
|
void |
writeElementStart(java.lang.Appendable appendable)
|
void |
writeElementStart(java.lang.StringBuilder buffy)
|
void |
writeWrap(java.lang.Appendable appendable,
boolean close)
Write the tags for opening and closing a wrapped collection. |
void |
writeWrap(java.lang.StringBuilder buffy,
boolean close)
Write the tags for opening and closing a wrapped collection. |
| Methods inherited from class ecologylab.generic.Debug |
|---|
classSimpleName, closeLoggingFile, debug, debug, debug, debug, debugA, debugA, debugA, debugI, debugI, debugI, error, error, getClassName, getClassName, getInteractive, getPackageName, getPackageName, getPackageName, initialize, level, level, level, logToFile, print, print, println, println, println, println, println, println, printlnA, printlnA, printlnA, printlnI, printlnI, printlnI, printlnI, setLoggingFile, show, show, superString, toggleInteractive, toString, warning, warning, weird, weird |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String NULL
public static final java.lang.Class[] SET_METHOD_ARG
| Constructor Detail |
|---|
public FieldDescriptor()
public FieldDescriptor(ClassDescriptor baseClassDescriptor)
baseClassDescriptor -
public FieldDescriptor(ClassDescriptor baseClassDescriptor,
FieldDescriptor wrappedFD,
java.lang.String wrapperTag)
public FieldDescriptor(ClassDescriptor declaringClassDescriptor,
java.lang.reflect.Field field,
int annotationType)
declaringClassDescriptor - field - annotationType - Coarse pre-evaluation of the field's annotation type.
Does not differentiate scalars from elements, or check for semantic consistency.| Method Detail |
|---|
public java.lang.Class<?> getTypeArgClass(java.lang.reflect.Field field,
int i)
field - i - Index of the type variable in the field declaration.
public boolean isScalar()
public boolean isCollection()
public boolean isNested()
public boolean set(ElementState context,
java.lang.String valueString)
public boolean set(ElementState context,
java.lang.String valueString,
ScalarUnmarshallingContext scalarUnMarshallingContext)
context - ElementState object to set the Field in this.valueString - The value to set, which this method will use with the ScalarType, to create the value
that will be set.
public void set(ElementState context,
java.lang.Object value)
context - value - An ElementState, or a Collection, or a Map.
public void setField(ElementState context,
java.lang.Object value)
public java.lang.String getValueString(ElementState context)
context -
public java.lang.String getFieldName()
public java.lang.String getTagName()
public ScalarType<?> getScalarType()
public java.lang.reflect.Field getField()
public java.lang.Class<?> getFieldType()
public int getType()
public java.lang.reflect.Field getXmlTextScalarField()
public ElementState getNested(ElementState context)
public java.util.Map getMap(ElementState context)
public java.util.Collection getCollection(ElementState context)
public boolean isPseudoScalar()
public boolean isMixin()
public boolean isNonNullReference(ElementState context)
context - Object that the field is in.
public ElementState getAndPerhapsCreateNested(ElementState context)
public boolean isWrapped()
public void appendValueAsAttribute(java.lang.StringBuilder buffy,
java.lang.Object context)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
buffy - context -
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public void setAttribute(org.w3c.dom.Element element,
java.lang.Object context)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
element - context -
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public void appendLeaf(org.w3c.dom.Element element,
java.lang.Object instance)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
element - instance - isAtXMLText - TODO
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public void appendXmlText(org.w3c.dom.Element element,
java.lang.Object instance)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public void appendCollectionLeaf(org.w3c.dom.Element element,
java.lang.Object instance)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public void appendValueAsAttribute(java.lang.Appendable appendable,
java.lang.Object context)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.io.IOException
appendable - context -
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.io.IOExceptionpublic boolean isCDATA()
public boolean isNeedsEscaping()
public java.lang.String[] getFormat()
public java.lang.String toString()
toString in class Debugpublic java.util.Collection<ClassDescriptor> getTagClassDescriptors()
public void writeElementStart(java.lang.StringBuilder buffy)
public void writeElementStart(java.lang.Appendable appendable)
throws java.io.IOException
java.io.IOException
public void writeWrap(java.lang.StringBuilder buffy,
boolean close)
buffy - close -
public void writeWrap(java.lang.Appendable appendable,
boolean close)
throws java.io.IOException
appendable - close -
java.io.IOExceptionpublic java.lang.String elementStart()
public boolean isPolymorphic()
public java.lang.String getCollectionOrMapTagName()
public boolean hasXmlText()
public boolean isXmlNsDecl()
public boolean isMarshallOnly()
public FieldDescriptor getWrappedFD()
public boolean belongsTo(ClassDescriptor c)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||