|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.xmlbeans.FilterXmlObject
public abstract class FilterXmlObject
A FilterXmlObject delegates to some other XmlObject, which it can use as its basic source of data, possibly transforming the data along the way or providing additional functionality. The class FilterXmlObject itself simply overrides all methods of XmlObject with versions that pass all requests to the underlying XmlObject. Subclasses of FilterXmlObject may further override some of these methods and may also provide additional methods and fields.
Note: it is important that FilterXmlObject has no storage (i.e., no non-transient fields), because subclasses may be serializable and adding storage would break the serialization format.
| Constructor Summary | |
|---|---|
FilterXmlObject()
|
|
| Method Summary | |
|---|---|
BigDecimal |
bigDecimalValue()
Returns the value as a BigDecimal. |
BigInteger |
bigIntegerValue()
Returns the value as a BigInteger. |
boolean |
booleanValue()
Returns the value as a boolean. |
byte[] |
byteArrayValue()
Returns the value as a byte array. |
byte |
byteValue()
Returns the value as a byte. |
Calendar |
calendarValue()
Returns the value as a Calendar. |
XmlObject |
changeType(SchemaType newType)
Changes the schema type associated with this data and returns a new XmlObject instance whose schemaType is the new type. |
int |
compareTo(Object obj)
Impelements the Comparable interface by comparing two simple xml values based on their standard XML schema ordering. |
int |
compareValue(XmlObject obj)
This comparison method is similar to compareTo, but rather than throwing a ClassCastException when two values are incomparable, it returns the number 2. |
XmlObject |
copy()
Returns a deep copy of this XmlObject. |
Date |
dateValue()
Returns the value as a Date. |
XmlDocumentProperties |
documentProperties()
Returns the XmlDocumentProperties object for the document this token source is associated with. |
double |
doubleValue()
Returns the value as a double. |
StringEnumAbstractBase |
enumValue()
Returns the value as a StringEnumAbstractBase. |
XmlObject[] |
execQuery(String query)
Executes a query. |
XmlObject[] |
execQuery(String query,
XmlOptions options)
Executes a query with options. |
float |
floatValue()
Returns the value as a float. |
GDate |
gDateValue()
Returns the value as a GDate. |
GDuration |
gDurationValue()
Returns the value as a GDuration. |
BigDecimal |
getBigDecimalValue()
Returns the value as a BigDecimal. |
BigInteger |
getBigIntegerValue()
Returns the value as a BigInteger. |
boolean |
getBooleanValue()
Returns the value as a boolean. |
byte[] |
getByteArrayValue()
Returns the value as a byte array. |
byte |
getByteValue()
Returns the value as a byte. |
Calendar |
getCalendarValue()
Returns the value as a Calendar. |
Date |
getDateValue()
Returns the value as a Date. |
Node |
getDomNode()
Returns a W3C DOM Node containing the XML represented by this source. |
double |
getDoubleValue()
Returns the value as a double. |
StringEnumAbstractBase |
getEnumValue()
Returns the value as a StringEnumAbstractBase. |
float |
getFloatValue()
Returns the value as a float. |
GDate |
getGDateValue()
Returns the value as a GDate. |
GDuration |
getGDurationValue()
Returns the value as a GDuration. |
int |
getIntValue()
Returns the value as an int. |
List |
getListValue()
Returns the value as a List of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). |
long |
getLongValue()
Returns the value as a long. |
Object |
getObjectValue()
Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). |
QName |
getQNameValue()
Returns the value as a QName. |
short |
getShortValue()
Returns the value as a short. |
String |
getStringValue()
Returns the value as a String. |
SchemaType |
instanceType()
The same as getSchemaType unless this is a union instance or nil value. |
int |
intValue()
Returns the value as an int. |
boolean |
isImmutable()
True if the value is an immutable value. |
boolean |
isNil()
True if the value is nil. |
List |
listValue()
Returns the value as a List of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). |
long |
longValue()
Returns the value as a long. |
Object |
monitor()
Returns the synchronization object for the document. |
XmlCursor |
newCursor()
Returns a new XML cursor. |
Node |
newDomNode()
Returns a W3C DOM Node containing the XML represented by this source. |
Node |
newDomNode(XmlOptions options)
Just like newDomNode() but with options. |
InputStream |
newInputStream()
Returns a new stream containing standard XML text, encoded according to the given encoding. |
InputStream |
newInputStream(XmlOptions options)
Just like newInputStream(String encoding) but with options. |
Reader |
newReader()
Returns a new character reader containing XML text. |
Reader |
newReader(XmlOptions options)
Just like newReader() but with options. |
org.apache.xmlbeans.xml.stream.XMLInputStream |
newXMLInputStream()
Deprecated. Deprecated by XMLStreamReader from STaX - jsr173 API. |
org.apache.xmlbeans.xml.stream.XMLInputStream |
newXMLInputStream(XmlOptions options)
Deprecated. Deprecated by XMLStreamReader from STaX - jsr173 API. |
XMLStreamReader |
newXMLStreamReader()
Returns a new XMLStreamReader. |
XMLStreamReader |
newXMLStreamReader(XmlOptions options)
Just like newXMLInputStream() but with options. |
void |
objectSet(Object obj)
Sets the value as an arbitrary Object. |
Object |
objectValue()
Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). |
QName |
qNameValue()
Returns the value as a QName. |
void |
save(ContentHandler ch,
LexicalHandler lh)
Writes the XML represented by this source to the given SAX content and lexical handlers. |
void |
save(ContentHandler ch,
LexicalHandler lh,
XmlOptions options)
Writes the XML represented by this source to the given SAX content and lexical handlers. |
void |
save(File file)
Writes the XML represented by this source to the given File. |
void |
save(File file,
XmlOptions options)
Writes the XML represented by this source to the given File. |
void |
save(OutputStream os)
Writes the XML represented by this source to the given output stream. |
void |
save(OutputStream os,
XmlOptions options)
Writes the XML represented by this source to the given output stream. |
void |
save(Writer w)
Writes the XML represented by this source to the given output. |
void |
save(Writer w,
XmlOptions options)
Writes the XML represented by this source to the given output. |
SchemaType |
schemaType()
The schema type for this instance. |
XmlObject |
selectAttribute(QName attributeName)
Selects the content of the attribute with the given name. |
XmlObject |
selectAttribute(String attributeUri,
String attributeLocalName)
Selects the content of the attribute with the given name. |
XmlObject[] |
selectAttributes(QNameSet attributeNameSet)
Selects the contents of the attributes that are contained in the elementNameSet. |
XmlObject[] |
selectChildren(QName elementName)
Selects the contents of the children elements with the given name. |
XmlObject[] |
selectChildren(QNameSet elementNameSet)
Selects the contents of the children elements that are contained in the elementNameSet. |
XmlObject[] |
selectChildren(String elementUri,
String elementLocalName)
Selects the contents of the children elements with the given name. |
XmlObject[] |
selectPath(String path)
Selects a path. |
XmlObject[] |
selectPath(String path,
XmlOptions options)
Selects a path, applying options. |
void |
set(BigDecimal obj)
Sets the value as a BigDecimal |
void |
set(BigInteger obj)
Sets the value as a BigInteger. |
void |
set(boolean v)
Sets the value as a boolean. |
void |
set(byte v)
Sets the value as a byte. |
void |
set(byte[] obj)
Sets the value as a byte array. |
void |
set(Calendar obj)
Sets the value as a Calendar. |
void |
set(Date obj)
Sets the value as a Date. |
void |
set(double v)
Sets the value as a double. |
void |
set(float v)
Sets the value as a float. |
void |
set(GDateSpecification obj)
Sets the value as a GDate. |
void |
set(GDurationSpecification obj)
Sets the value as a GDuration. |
void |
set(int v)
Sets the value as an int. |
void |
set(List obj)
Sets the value as a List. |
void |
set(long v)
Sets the value as a long. |
void |
set(QName obj)
Sets the value as a QName. |
void |
set(short v)
Sets the value as a short. |
void |
set(String obj)
Sets the value as a String. |
void |
set(StringEnumAbstractBase obj)
Sets the value as a StringEnumAbstractBase. |
XmlObject |
set(XmlObject srcObj)
Set the value/type of this XmlObject to be a copy of the source XmlObject. |
void |
setBigDecimalValue(BigDecimal obj)
Sets the value as a BigDecimal. |
void |
setBigIntegerValue(BigInteger obj)
Sets the value as a BigInteger. |
void |
setBooleanValue(boolean v)
Sets the value as a boolean. |
void |
setByteArrayValue(byte[] obj)
Sets the value as a byte array. |
void |
setByteValue(byte v)
Sets the value as a byte. |
void |
setCalendarValue(Calendar obj)
Sets the value as a Calendar. |
void |
setDateValue(Date obj)
Sets the value as a Date. |
void |
setDoubleValue(double v)
Sets the value as a double. |
void |
setEnumValue(StringEnumAbstractBase obj)
Sets the value as a StringEnumAbstractBase. |
void |
setFloatValue(float v)
Sets the value as a float. |
void |
setGDateValue(GDate obj)
Sets the value as a GDate. |
void |
setGDurationValue(GDuration obj)
Sets the value as a GDuration. |
void |
setIntValue(int v)
Sets the value as an int. |
void |
setListValue(List obj)
Sets the value as a List. |
void |
setLongValue(long v)
Sets the value as a long. |
void |
setNil()
Sets the value to nil. |
void |
setObjectValue(Object obj)
Sets the value as an arbitrary Object. |
void |
setQNameValue(QName obj)
Sets the value as a QName. |
void |
setShortValue(short v)
Sets the value as a short. |
void |
setStringValue(String obj)
Sets the value as a String. |
short |
shortValue()
Returns the value as a short. |
String |
stringValue()
Returns the value as a String. |
boolean |
validate()
Returns true if the contents of this object are valid accoring to schemaType(). |
boolean |
validate(XmlOptions options)
Just like validate(), but with options. |
boolean |
valueEquals(XmlObject obj)
True if the xml values are equal. |
int |
valueHashCode()
|
List |
xgetListValue()
Returns the value as a List of XmlAnySimpleType objects. |
List |
xlistValue()
Returns the value as a List of XmlAnySimpleType objects. |
String |
xmlText()
Returns standard XML text. |
String |
xmlText(XmlOptions options)
Just like xmlText() but with options. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.xmlbeans.DelegateXmlObject |
|---|
underlyingXmlObject |
| Constructor Detail |
|---|
public FilterXmlObject()
| Method Detail |
|---|
public SchemaType schemaType()
XmlObject
schemaType in interface XmlObjectpublic boolean validate()
XmlObjectDoes a deep validation of the entire subtree under the object, but does not validate the parents or siblings of the object if the object is in the interior of an xml tree.
validate in interface XmlObjectpublic boolean validate(XmlOptions options)
XmlObjectJust like validate(), but with options.
If you wish to collect error messages and locations while validating,
use the XmlOptions.setErrorListener(java.util.Collection) method. With that method,
you can specify an object in which to store messages related to validation.
The following is a simple example.
// Create an XmlOptions instance and set the error listener.
XmlOptions validateOptions = new XmlOptions();
ArrayList errorList = new ArrayList();
validateOptions.setErrorListener(errorList);
// Validate the XML.
boolean isValid = newEmp.validate(validateOptions);
// If the XML isn't valid, loop through the listener's contents,
// printing contained messages.
if (!isValid)
{
for (int i = 0; i < errorList.size(); i++)
{
XmlError error = (XmlError)errorList.get(i);
System.out.println("\n");
System.out.println("Message: " + error.getMessage() + "\n");
System.out.println("Location of invalid XML: " +
error.getCursorLocation().xmlText() + "\n");
}
}
validate in interface XmlObjectoptions - An object that implements the Collection interface.public XmlObject[] selectPath(String path)
XmlObjectThe path must be a relative path, where "." represents the element or attribute containg this XmlObject, and it must select only other elements or attributes. If a non-element or non-attribute is selected, an unchecked exception is thrown.
The array that is returned contains all the selected XmlObjects, within the same document, listed in document order. The actual array type of the result is inferred from the closest common base type of selected results.
Here is an example of usage. Suppose we have a global element definition for "owner" whose type is "person":
<schema targetNamespace="http://openuri.org/sample">
<element name="owner" type="person"/>
<complexType name="person">
[...]
</complexType>
</schema>
and suppose "owner" tags can be scattered throughout the
document. Then we can write the following code to find
them all:
import org.openuri.sample.Person;
import org.apache.xmlbeans.*;
[...]
XmlObject xobj = XmlObject.Factory.parse(myFile);
Person[] results;
results = (Person[])xobj.selectPath(
"declare namespace s='http://www.openuri.org/sample' " +
".//s:owner");
Notice the way in which namespace declarations are done in XPath 2.0.
Since XPath can only navigate within an XML document - it cannot
construct new XML - the resulting XmlObjects all reside in
the same XML document as this XmlObject itself.
selectPath in interface XmlObject
public XmlObject[] selectPath(String path,
XmlOptions options)
XmlObject
selectPath in interface XmlObjectXmlObject.selectPath(String)public XmlObject[] execQuery(String query)
XmlObjectAn XQuery is very similar to an XPath, except that it also permits construction of new XML. As a result, the XmlObjects that are returned from execQuery are in newly created documents, separate from the XmlObject on which the query is executed.
Syntax and usage is otherwise similar to selectPath.
execQuery in interface XmlObjectXmlObject.selectPath(String)
public XmlObject[] execQuery(String query,
XmlOptions options)
XmlObject| To specify this | Use this method |
|---|---|
| The document type for the root element. | XmlOptions.setDocumentType(org.apache.xmlbeans.SchemaType) |
| To replace the document element with the specified QName when constructing the resulting document. | XmlOptions.setLoadReplaceDocumentElement(javax.xml.namespace.QName) |
| To strip all insignificant whitespace when constructing a document. | XmlOptions.setLoadStripWhitespace() |
| To strip all comments when constructing a document. | XmlOptions.setLoadStripComments() |
| To strip all processing instructions when constructing a document. | XmlOptions.setLoadStripProcinsts() |
| A map of namespace URI substitutions to use when constructing a document. | XmlOptions.setLoadSubstituteNamespaces(java.util.Map) |
| Additional namespace mappings to be added when constructing a document. | XmlOptions.setLoadAdditionalNamespaces(java.util.Map) |
| To trim the underlying XML text buffer immediately after constructing a document, resulting in a smaller memory footprint. | XmlOptions.setLoadTrimTextBuffer() |
| Whether value facets should be checked as they are set. | XmlOptions.setValidateOnSet() |
execQuery in interface XmlObjectquery - The XQuery expression.options - Options as described.XmlObject.execQuery(String)public XmlObject changeType(SchemaType newType)
XmlObjectReturns the new XmlObject if the type change was successful, the old XmlObject if no changes could be made.
Certain type changes may be prohibited in the interior of an xml tree due to schema type system constraints (that is, due to a parent container within which the newly specified type is not permissible), but there are no constraints at the roottype changes are never prohibited at the root of an xml tree.If the type change is allowed, then the new XmlObject should be used rather than the old one. The old XmlObject instance and any other XmlObject instances in the subtree are permanently invalidated and should not be used. (They will return XmlValueDisconnectedException if you try to use them.) If a type change is done on the interior of an Xml tree, then xsi:type attributes are updated as needed.
changeType in interface XmlObjectpublic boolean isNil()
XmlObject
isNil in interface XmlObjectpublic void setNil()
XmlObject
setNil in interface XmlObjectpublic boolean isImmutable()
XmlObject
isImmutable in interface XmlObjectpublic XmlObject set(XmlObject srcObj)
XmlObject
set in interface XmlObjectpublic XmlObject copy()
XmlObject
copy in interface XmlObjectpublic boolean valueEquals(XmlObject obj)
XmlObjectUsually this method can be treated as an ordinary equvalence relation, but actually it is not is not transitive. Here is a precise specification:
There are two categories of XML object: objects with a known instance type, and objects whose only known type is one of the ur-types (either AnyType or AnySimpleType). The first category is compared in terms of logical value spaces, and the second category is compared lexically.
Within each of these two categories, valueEquals is a well-behaved equivalence relation. However, when comparing an object of known type with an object with ur-type, the comparison is done by attempting to convert the lexical form of the ur-typed object into the other type, and then comparing the results. Ur-typed objects are therefore treated as lexical wildcards and may be equal to objects in different value spaces, even though the objects in different value spaces are not equal to each other.
For example, the anySimpleType value "1" will compare as an equalValue to the string "1", the float value "1.0", the double value "1.0", the decimal "1", and the GYear "1", even though all these objects will compare unequal to each other since they lie in different value spaces.
valueEquals in interface XmlObjectpublic int valueHashCode()
valueHashCode in interface XmlObjectpublic int compareTo(Object obj)
XmlObject
compareTo in interface XmlObjectpublic int compareValue(XmlObject obj)
XmlObject
compareValue in interface XmlObjectpublic Object monitor()
XmlTokenSource
monitor in interface XmlTokenSourcepublic XmlDocumentProperties documentProperties()
XmlTokenSource
documentProperties in interface XmlTokenSourcepublic XmlCursor newCursor()
XmlTokenSource
newCursor in interface XmlTokenSourcepublic org.apache.xmlbeans.xml.stream.XMLInputStream newXMLInputStream()
XmlTokenSource
newXMLInputStream in interface XmlTokenSourcepublic XMLStreamReader newXMLStreamReader()
XmlTokenSource
newXMLStreamReader in interface XmlTokenSourcepublic String xmlText()
XmlTokenSourceThe text returned represents the document contents starting at the current begin-tag or begin-document and ending at the matching end-tag or end-document. This is same content as newReader, but it is returned as a single string.
Throws an IllegalStateException if the XmlTokenSource is not positioned at begin-tag or begin-document (e.g., if it is at an attribute).
Note that this method does not produce XML with the XML declaration,
including the encoding information. To save the XML declaration with
the XML, see XmlTokenSource.save(OutputStream) or XmlTokenSource.save(OutputStream, XmlOptions).
xmlText in interface XmlTokenSourcepublic InputStream newInputStream()
XmlTokenSource
newInputStream in interface XmlTokenSourcepublic Reader newReader()
XmlTokenSource
newReader in interface XmlTokenSourcepublic Node newDomNode()
XmlTokenSource
newDomNode in interface XmlTokenSourcepublic Node getDomNode()
XmlTokenSource
getDomNode in interface XmlTokenSource
public void save(ContentHandler ch,
LexicalHandler lh)
throws SAXException
XmlTokenSourceXmlTokenSource.save(OutputStream),
XmlTokenSource.save(OutputStream, XmlOptions), XmlTokenSource.save(File) or XmlTokenSource.save(File, XmlOptions).
save in interface XmlTokenSourceSAXException
public void save(File file)
throws IOException
XmlTokenSource
save in interface XmlTokenSourceIOException
public void save(OutputStream os)
throws IOException
XmlTokenSource
save in interface XmlTokenSourceIOException
public void save(Writer w)
throws IOException
XmlTokenSourceXmlTokenSource.save(OutputStream),
XmlTokenSource.save(OutputStream, XmlOptions), XmlTokenSource.save(File) or XmlTokenSource.save(File, XmlOptions).
save in interface XmlTokenSourceIOExceptionpublic org.apache.xmlbeans.xml.stream.XMLInputStream newXMLInputStream(XmlOptions options)
XmlTokenSourceJust like newXMLInputStream() but with any of a number of options. Use the options parameter to specify the following:
| To specify this | Use this method |
|---|---|
| The character encoding to use when converting the character data in the XML to bytess. | XmlOptions.setCharacterEncoding(java.lang.String) |
| Prefix-to-namespace mappings that should be assumed when saving this XML. This is useful when the resulting XML will be part of a larger XML document, ensuring that this inner document will take advantage of namespaces defined in the outer document. | XmlOptions.setSaveImplicitNamespaces(java.util.Map) |
| Suggested namespace prefixes to use when saving. Used only when a namespace attribute needs to be synthesized. | XmlOptions.setSaveSuggestedPrefixes(java.util.Map) |
| That namespace attributes should occur first in elements when the XML is saved. By default, they occur last. | XmlOptions.setSaveNamespacesFirst() |
| The XML should be pretty printed when saved. Note that this should only be used for debugging. | XmlOptions.setSavePrettyPrint() |
| The number of spaces to use when indenting for pretty printing. The default is 2. | XmlOptions.setSavePrettyPrintIndent(int) |
| The additional number of spaces indented from the left for pretty printed XML. | XmlOptions.setSavePrettyPrintOffset(int) |
| To minimize the number of namespace attributes generated for the saved XML. Note that this can reduce performance significantly. | XmlOptions.setSaveAggresiveNamespaces() |
| To reduce the size of the saved document by allowing the use of the default namespace. Note that this can potentially change the semantic meaning of the XML if unprefixed QNames are present as the value of an attribute or element. | XmlOptions.setUseDefaultNamespace() |
| To filter out processing instructions with the specified target name. | XmlOptions.setSaveFilterProcinst(java.lang.String) |
| Change the QName of the synthesized root element when saving. This replaces "xml-fragment" with "fragment" in the namespace http://www.openuri.org/fragment | XmlOptions.setSaveUseOpenFrag() |
| Saving should begin on the element's contents. | XmlOptions.setSaveInner() |
| Saving should begin on the element, rather than its contents. | XmlOptions.setSaveOuter() |
| To rename the document element, or to specify the document element for this XML. | XmlOptions.setSaveSyntheticDocumentElement(javax.xml.namespace.QName) |
newXMLInputStream in interface XmlTokenSourceoptions - Any of the described options.
XmlOptionspublic XMLStreamReader newXMLStreamReader(XmlOptions options)
XmlTokenSource
newXMLStreamReader in interface XmlTokenSourceXmlOptionspublic String xmlText(XmlOptions options)
XmlTokenSource
Note that this method does not produce XML with the XML declaration,
including the encoding information. To save the XML declaration with
the XML, see XmlTokenSource.save(OutputStream) or XmlTokenSource.save(OutputStream, XmlOptions).
xmlText in interface XmlTokenSourceXmlOptionspublic InputStream newInputStream(XmlOptions options)
XmlTokenSource
newInputStream in interface XmlTokenSou