public abstract class XmlObjectFactory<T> extends java.lang.Object implements XmlSinkWritable
Modifier and Type | Field and Description |
---|---|
java.lang.Class<?> |
_supportedClass |
ARRAY_MAKER
Modifier | Constructor and Description |
---|---|
protected |
XmlObjectFactory()
Constructor which determines
_supportedClass
without a parameter to populate it from. |
protected |
XmlObjectFactory(java.lang.Class<?> supportedClass) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.Class<?> |
determineSupportedClass() |
T[] |
extractArrayFromNode(TagNode arrayNode,
ArrayMaker<T> arrayMaker) |
T[] |
extractArrayFromNode(TagNode arrayNode,
java.lang.String elementRelativeName,
ArrayMaker<T> arrayMaker) |
T[] |
extractArrayFromNode(TagNode arrayNode,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace,
ArrayMaker<T> arrayMaker) |
T[] |
extractArrayFromNode(TagNode arrayNode,
TagNodeId elementId,
ArrayMaker<T> arrayMaker) |
abstract T |
extractFromNode(TagNode node)
Implementations must extract information from the node, but must NOT invoke
verifyNoMoreChildren on the node.
|
java.util.ArrayList<T> |
extractListFromNode(TagNode arrayNode) |
java.util.ArrayList<T> |
extractListFromNode(TagNode arrayNode,
java.lang.String elementSimpleName) |
java.util.ArrayList<T> |
extractListFromNode(TagNode arrayNode,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace) |
java.util.ArrayList<T> |
extractListFromNode(TagNode arrayNode,
TagNodeId elementId) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
java.lang.String arrayName) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
TagNodeId arrayId) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
java.lang.String arrayName) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace) |
T[] |
fileToArray(java.io.File xmlFile,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
TagNodeId arrayId) |
T |
fileToObject(java.io.File xmlFile) |
T |
fileToObject(java.io.File xmlFile,
XmlReadOptions options) |
void |
mostToXml(XmlSink xmlSink,
java.lang.String relativeName,
XmlNameSpace nameSpace)
Causes instance to write itself to XML except that it doesn't
start the node nor writes the closing tag.
|
TagNodeId |
naturalTagNodeId()
When writing instances of this class, the id returned
by this function will be used unless alternative
identification is supplied.
|
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
java.lang.String arrayName,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
java.lang.String arrayName,
java.lang.String elementName,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
TagNodeId arrayId,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentE(TagNode arrayParentNode,
TagNodeId arrayId,
TagNodeId elementId,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
java.lang.String arrayName,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
java.lang.String arrayName,
java.lang.String elementName,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
TagNodeId arrayId,
ArrayMaker<T> arrayMaker) |
T[] |
nextArrayFromParentN(TagNode arrayParentNode,
TagNodeId arrayId,
TagNodeId elementId,
ArrayMaker<T> arrayMaker) |
protected TagNode |
nextChildNodeN(TagNode parentNode,
java.lang.String relativeName,
XmlNameSpace nameSpace) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
java.lang.String listSimpleName) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
java.lang.String listSimpleName,
java.lang.String elementSimpleName) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
java.lang.String listRelativeName,
XmlNameSpace listNameSpace) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
java.lang.String listRelativeName,
XmlNameSpace listNameSpace,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
TagNodeId listId) |
java.util.ArrayList<T> |
nextListFromParentE(TagNode listParentNode,
TagNodeId listId,
TagNodeId elementId) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
java.lang.String listSimpleName) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
java.lang.String listSimpleName,
java.lang.String elementSimpleName) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
java.lang.String listRelativeName,
XmlNameSpace listNameSpace) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
java.lang.String listRelativeName,
XmlNameSpace listNameSpace,
java.lang.String elementRelativeName,
XmlNameSpace elementNameSpace) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
TagNodeId listId) |
java.util.ArrayList<T> |
nextListFromParentN(TagNode listParentNode,
TagNodeId listId,
TagNodeId elementId) |
T |
nextOnParentD(TagNode parentNode,
java.lang.String simpleName,
T defaultValue) |
T |
nextOnParentD(TagNode parentNode,
java.lang.String relativeName,
XmlNameSpace nameSpace,
T defaultValue) |
T |
nextOnParentD(TagNode parentNode,
TagNodeId id,
T defaultValue) |
T |
nextOnParentE(TagNode parentNode,
java.lang.String simpleName) |
T |
nextOnParentE(TagNode parentNode,
java.lang.String relativeName,
XmlNameSpace nameSpace) |
T |
nextOnParentE(TagNode parentNode,
TagNodeId id) |
T |
nextOnParentN(TagNode parentNode,
java.lang.String simpleNodeName) |
T |
nextOnParentN(TagNode parentNode,
java.lang.String relativeName,
XmlNameSpace nameSpace)
Finds the next node on parent.
|
T |
nextOnParentN(TagNode parentNode,
TagNodeId id) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
java.lang.String arrayName) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
TagNodeId arrayId) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
java.lang.String arrayName) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
java.lang.String arrayRelativeName,
XmlNameSpace arrayNameSpace) |
T[] |
stringToArray(java.lang.String xmlString,
java.lang.String context,
ArrayMaker<T> arrayMaker,
XmlReadOptions options,
TagNodeId arrayId) |
T |
stringToObject(java.lang.String xmlString,
java.lang.String context) |
T |
stringToObject(java.lang.String xmlString,
java.lang.String context,
XmlReadOptions options) |
protected XmlObjectFactory()
_supportedClass
without a parameter to populate it from.
Subclasses using this constructor need to supply their
own version of determineSupportedClass()
.protected XmlObjectFactory(java.lang.Class<?> supportedClass)
public abstract T extractFromNode(TagNode node)
This arrangement also makes it easier to handle inheritance because typically implementation functions will call the constructor of T and there may or may not be subclasses of T which pull out additional fields.
node
- protected java.lang.Class<?> determineSupportedClass()
public T nextOnParentN(TagNode parentNode, java.lang.String relativeName, XmlNameSpace nameSpace)
parentNode
- The node we are extracting the next node fromrelativeName
- Of the next node. Null means any node will do.nameSpace
- Of the next node. Null means no name spaceprotected TagNode nextChildNodeN(TagNode parentNode, java.lang.String relativeName, XmlNameSpace nameSpace)
public T nextOnParentE(TagNode parentNode, java.lang.String relativeName, XmlNameSpace nameSpace)
public T nextOnParentD(TagNode parentNode, java.lang.String relativeName, XmlNameSpace nameSpace, T defaultValue)
public T nextOnParentD(TagNode parentNode, java.lang.String simpleName, T defaultValue)
public java.util.ArrayList<T> extractListFromNode(TagNode arrayNode, TagNodeId elementId)
public java.util.ArrayList<T> extractListFromNode(TagNode arrayNode, java.lang.String elementSimpleName)
public java.util.ArrayList<T> extractListFromNode(TagNode arrayNode, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace)
public T[] extractArrayFromNode(TagNode arrayNode, ArrayMaker<T> arrayMaker)
public T[] extractArrayFromNode(TagNode arrayNode, TagNodeId elementId, ArrayMaker<T> arrayMaker)
public T[] extractArrayFromNode(TagNode arrayNode, java.lang.String elementRelativeName, ArrayMaker<T> arrayMaker)
public T[] extractArrayFromNode(TagNode arrayNode, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, TagNodeId arrayId, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, java.lang.String arrayName, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, TagNodeId arrayId, TagNodeId elementId, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, java.lang.String arrayName, java.lang.String elementName, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentN(TagNode arrayParentNode, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, TagNodeId arrayId, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, java.lang.String arrayName, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, TagNodeId arrayId, TagNodeId elementId, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, java.lang.String arrayName, java.lang.String elementName, ArrayMaker<T> arrayMaker)
public T[] nextArrayFromParentE(TagNode arrayParentNode, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace, ArrayMaker<T> arrayMaker)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, java.lang.String listRelativeName, XmlNameSpace listNameSpace)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, java.lang.String listSimpleName)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, TagNodeId listId)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, java.lang.String listRelativeName, XmlNameSpace listNameSpace, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, java.lang.String listSimpleName, java.lang.String elementSimpleName)
public java.util.ArrayList<T> nextListFromParentN(TagNode listParentNode, TagNodeId listId, TagNodeId elementId)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, java.lang.String listRelativeName, XmlNameSpace listNameSpace, java.lang.String elementRelativeName, XmlNameSpace elementNameSpace)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, java.lang.String listSimpleName, java.lang.String elementSimpleName)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, TagNodeId listId, TagNodeId elementId)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, java.lang.String listRelativeName, XmlNameSpace listNameSpace)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, java.lang.String listSimpleName)
public java.util.ArrayList<T> nextListFromParentE(TagNode listParentNode, TagNodeId listId)
public T stringToObject(java.lang.String xmlString, java.lang.String context)
public T stringToObject(java.lang.String xmlString, java.lang.String context, XmlReadOptions options)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, TagNodeId arrayId)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, java.lang.String arrayName)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, XmlReadOptions options, TagNodeId arrayId)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, XmlReadOptions options, java.lang.String arrayName)
public T[] stringToArray(java.lang.String xmlString, java.lang.String context, ArrayMaker<T> arrayMaker, XmlReadOptions options, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace)
public T fileToObject(java.io.File xmlFile)
public T fileToObject(java.io.File xmlFile, XmlReadOptions options)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, TagNodeId arrayId)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, java.lang.String arrayName)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, XmlReadOptions options, TagNodeId arrayId)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, XmlReadOptions options, java.lang.String arrayName)
public T[] fileToArray(java.io.File xmlFile, ArrayMaker<T> arrayMaker, XmlReadOptions options, java.lang.String arrayRelativeName, XmlNameSpace arrayNameSpace)
public TagNodeId naturalTagNodeId()
XmlSinkWritable
naturalTagNodeId
in interface XmlSinkWritable
public void mostToXml(XmlSink xmlSink, java.lang.String relativeName, XmlNameSpace nameSpace)
XmlSinkWritable
mostToXml
in interface XmlSinkWritable
xmlSink
- Where the XML is writtenrelativeName
- or simple node name. May not be needed but is available.nameSpace
- or null for simple node names. May not be needed but is available.