|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
javax.xml.bind.helpers Class AbstractMarshallerImpl
java.lang.Object javax.xml.bind.helpers.AbstractMarshallerImpl
- All Implemented Interfaces:
- Marshaller
public abstract class AbstractMarshallerImpl
- extends Object
- implements Marshaller
部分默认 Marshaller 实现。
此类提供 javax.xml.bind.Marshaller
接口的部分默认实现。
JAXB 提供者必须实现的方法只有 marshal(Object, javax.xml.transform.Result)
、marshal(Object, javax.xml.stream.XMLStreamWriter)
和 marshal(Object, javax.xml.stream.XMLEventWriter)
。
version |
| |
since | JAXB1.0 | |
See also | javax.xml.bind.Marshaller |
Partial default Marshaller implementation.
This class provides a partial default implementation for the
Marshaller
interface.
The only methods that a JAXB Provider has to implement are
marshal(Object, javax.xml.transform.Result)
,
marshal(Object, javax.xml.stream.XMLStreamWriter)
, and
marshal(Object, javax.xml.stream.XMLEventWriter)
.
- Since:
- JAXB1.0
- Version:
- $Revision: 1.7 $ $Date: 2006/03/08 17:00:39 $
- Author:
- Kohsuke Kawaguchi, Sun Microsystems, Inc.
- See Also:
Marshaller
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface javax.xml.bind.Marshaller |
---|
Marshaller.Listener |
Field Summary |
---|
Fields inherited from interface javax.xml.bind.Marshaller |
---|
JAXB_ENCODING, JAXB_FORMATTED_OUTPUT, JAXB_FRAGMENT, JAXB_NO_NAMESPACE_SCHEMA_LOCATION, JAXB_SCHEMA_LOCATION |
Constructor Summary | |
---|---|
AbstractMarshallerImpl()
|
Method Summary | |
---|---|
<A extends XmlAdapter>
|
getAdapter(Class<A> type)
Gets the adapter associated with the specified type.
AttachmentMarshaller
getAttachmentMarshaller()
protected String
getEncoding()
Convenience method for getting the current output encoding.
ValidationEventHandler
getEventHandler()
Return the current event handler or the default event handler if one hasn't been set.
protected String
getJavaEncoding(String encoding)
Gets the corresponding Java encoding name from an IANA name.
Marshaller.Listener
getListener()
Return
Marshaller.Listener
registered with this Marshaller
.
Node
getNode(Object obj)
By default, the getNode method is unsupported and throw an
UnsupportedOperationException
.
protected String
getNoNSSchemaLocation()
Convenience method for getting the current noNamespaceSchemaLocation.
Object
getProperty(String name)
Default implementation of the getProperty method handles the four defined properties in Marshaller.
Schema
getSchema()
Get the JAXP 1.3
Schema
object
being used to perform marshal-time validation.
protected String
getSchemaLocation()
Convenience method for getting the current schemaLocation.
protected boolean
isFormattedOutput()
Convenience method for getting the formatted output flag.
protected boolean
isFragment()
Convenience method for getting the fragment flag.
void
marshal(Object obj,
ContentHandler handler)
Marshal the content tree rooted at jaxbElement into SAX2 events.
void
marshal(Object obj,
Node node)
Marshal the content tree rooted at jaxbElement into a DOM tree.
void
marshal(Object obj,
OutputStream os)
Marshal the content tree rooted at jaxbElement into an output stream.
void
marshal(Object obj,
Writer w)
Marshal the content tree rooted at jaxbElement into a Writer.
void
marshal(Object obj,
XMLEventWriter writer)
Marshal the content tree rooted at jaxbElement into a
XMLEventWriter
.
void
marshal(Object obj,
XMLStreamWriter writer)
Marshal the content tree rooted at jaxbElement into a
XMLStreamWriter
.
<A extends XmlAdapter>
void
setAdapter(Class<A> type,
A adapter)
Associates a configured instance of
XmlAdapter
with this marshaller.
void
setAdapter(XmlAdapter adapter)
Associates a configured instance of
XmlAdapter
with this marshaller.
void
setAttachmentMarshaller(AttachmentMarshaller am)
Associate a context that enables binary data within an XML document to be transmitted as XML-binary optimized attachment.
protected void
setEncoding(String encoding)
Convenience method for setting the output encoding.
void
setEventHandler(ValidationEventHandler handler)
Allow an application to register a validation event handler.
protected void
setFormattedOutput(boolean v)
Convenience method for setting the formatted output flag.
protected void
setFragment(boolean v)
Convenience method for setting the fragment flag.
void
setListener(Marshaller.Listener listener)
Register marshal event callback
Marshaller.Listener
with this Marshaller
.
protected void
setNoNSSchemaLocation(String location)
Convenience method for setting the noNamespaceSchemaLocation.
void
setProperty(String name,
Object value)
Default implementation of the setProperty method handles the four defined properties in Marshaller.
void
setSchema(Schema schema)
Specify the JAXP 1.3
Schema
object that should be used to validate subsequent marshal operations
against.
protected void
setSchemaLocation(String location)
Convenience method for setting the schemaLocation.
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.xml.bind.Marshaller |
---|
marshal |
Constructor Detail |
---|
public
AbstractMarshallerImpl()
英文文档:
AbstractMarshallerImpl
public AbstractMarshallerImpl()
Method Detail |
---|
final public void
marshal(Object obj, java.io.OutputStream os) throws JAXBException
英文文档:
marshal
public final void marshal(Object obj, OutputStream os) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into an output stream.
- Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The root of content tree to be marshalled.os
- XML will be added to this stream.- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal obj (or any object reachable from obj). See Marshalling a JAXB element.
final public void
marshal(Object obj, java.io.Writer w) throws JAXBException
英文文档:
marshal
public final void marshal(Object obj, Writer w) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into a Writer.
- Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The root of content tree to be marshalled.w
- XML will be sent to this writer.- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal obj (or any object reachable from obj). See Marshalling a JAXB element.
final public void
marshal(Object obj, org.xml.sax.ContentHandler handler) throws JAXBException
英文文档:
marshal
public final void marshal(Object obj, ContentHandler handler) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into SAX2 events.
- Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The root of content tree to be marshalled.handler
- XML will be sent to this handler as SAX2 events.- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal obj (or any object reachable from obj). See Marshalling a JAXB element.
final public void
marshal(Object obj, org.w3c.dom.Node node) throws JAXBException
英文文档:
marshal
public final void marshal(Object obj, Node node) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into a DOM tree.
- Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The content tree to be marshalled.node
- DOM nodes will be added as children of this node. This parameter must be a Node that accepts children (Document
,DocumentFragment
, orElement
)- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal jaxbElement (or any object reachable from jaxbElement). See Marshalling a JAXB element.
public org.w3c.dom.Node
getNode(Object obj) throws JAXBException
默认情况下,getNode 方法不受支持并抛出 java.lang.UnsupportedOperationException
。
选择支持此方法的实现必须重写此方法。
英文文档:
getNode
public Node getNode(Object obj) throws JAXBException
- By default, the getNode method is unsupported and throw
an
UnsupportedOperationException
. Implementations that choose to support this method must override this method. - Specified by:
getNode
in interfaceMarshaller
- Parameters:
obj
- - JAXB Java representation of XML content- Returns:
- the DOM tree view of the contentTree
- Throws:
JAXBException
- If any unexpected problem occurs
protected String
getEncoding()
获取当前输出编码的便捷方法。
return | 当前的编码,如果没有设置编码,则返回 "UTF-8"。 |
getEncoding
protected String getEncoding()
- Convenience method for getting the current output encoding.
- Returns:
- the current encoding or "UTF-8" if it hasn't been set.
protected void
setEncoding(String encoding)
设置输出编码的便捷方法。
encoding | Marshaller 类文档中指定的有效编码 |
setEncoding
protected void setEncoding(String encoding)
- Convenience method for setting the output encoding.
- Parameters:
encoding
- a valid encoding as specified in the Marshaller class documentation
protected String
getSchemaLocation()
获取当前 schemaLocation 的便捷方法。
return | 当前的 schemaLocation,如果没有设置 schemaLocation,则返回 null |
getSchemaLocation
protected String getSchemaLocation()
- Convenience method for getting the current schemaLocation.
- Returns:
- the current schemaLocation or null if it hasn't been set
protected void
setSchemaLocation(String location)
设置 schemaLocation 的便捷方法。
location | schemaLocation 值 |
setSchemaLocation
protected void setSchemaLocation(String location)
- Convenience method for setting the schemaLocation.
- Parameters:
location
- the schemaLocation value
protected String
getNoNSSchemaLocation()
获取当前 noNamespaceSchemaLocation 的便捷方法。
return | 当前的 noNamespaceSchemaLocation;如果没有设置 noNamespaceSchemaLocation,则返回 null |
getNoNSSchemaLocation
protected String getNoNSSchemaLocation()
- Convenience method for getting the current noNamespaceSchemaLocation.
- Returns:
- the current noNamespaceSchemaLocation or null if it hasn't been set
protected void
setNoNSSchemaLocation(String location)
设置 noNamespaceSchemaLocation 的便捷方法。
location | noNamespaceSchemaLocation 值 |
setNoNSSchemaLocation
protected void setNoNSSchemaLocation(String location)
- Convenience method for setting the noNamespaceSchemaLocation.
- Parameters:
location
- the noNamespaceSchemaLocation value
protected boolean
isFormattedOutput()
获取格式化输出标志的便捷方法。
return | 格式化输出标志的当前值;如果没有设置该值,则返回 false。 |
isFormattedOutput
protected boolean isFormattedOutput()
- Convenience method for getting the formatted output flag.
- Returns:
- the current value of the formatted output flag or false if it hasn't been set.
protected void
setFormattedOutput(boolean v)
设置格式化输出标志的便捷方法。
v | 格式化输出标志的值。 |
setFormattedOutput
protected void setFormattedOutput(boolean v)
- Convenience method for setting the formatted output flag.
- Parameters:
v
- value of the formatted output flag.
protected boolean
isFragment()
获取片段标志的便捷方法。
return | 片段标志的当前值;如果没有设置该值,则返回 false。 |
isFragment
protected boolean isFragment()
- Convenience method for getting the fragment flag.
- Returns:
- the current value of the fragment flag or false if it hasn't been set.
protected void
setFragment(boolean v)
设置片段标志的便捷方法。
v | 片段标志的值。 |
setFragment
protected void setFragment(boolean v)
- Convenience method for setting the fragment flag.
- Parameters:
v
- value of the fragment flag.
protected String
getJavaEncoding(String encoding) throws java.io.UnsupportedEncodingException
从 IANA 名称获取相应的 Java 编码名称。
此方法是派生类用来转换编码名称的 helper 方法。
Throws | java.io.UnsupportedEncodingException: 如果此实现无法找到 Java 编码名称。 |
getJavaEncoding
protected String getJavaEncoding(String encoding) throws UnsupportedEncodingException
- Gets the corresponding Java encoding name from an IANA name.
This method is a helper method for the derived class to convert
encoding names.
- Throws:
UnsupportedEncodingException
- If this implementation couldn't find the Java encoding name.
public void
setProperty(String name, Object value) throws PropertyException
setProperty 方法的默认实现处理 Marshaller 中 4 个已定义的属性。如果提供者需要处理其他属性,则应该在派生类中重写此方法。
英文文档:
setProperty
public void setProperty(String name, Object value) throws PropertyException
- Default implementation of the setProperty method handles
the four defined properties in Marshaller. If a provider
needs to handle additional properties, it should override
this method in a derived class.
- Specified by:
setProperty
in interfaceMarshaller
- Parameters:
name
- the name of the property to be set. This value can either be specified using one of the constant fields or a user supplied string.value
- the value of the property to be set- Throws:
PropertyException
- when there is an error processing the given property or value
public Object
getProperty(String name) throws PropertyException
getProperty 方法的默认实现处理 Marshaller 中 4 个已定义的属性。如果提供者需要支持特定于其他提供者的属性,则应该在派生类中重写此方法。
英文文档:
getProperty
public Object getProperty(String name) throws PropertyException
- Default implementation of the getProperty method handles
the four defined properties in Marshaller. If a provider
needs to support additional provider specific properties,
it should override this method in a derived class.
- Specified by:
getProperty
in interfaceMarshaller
- Parameters:
name
- the name of the property to retrieve- Returns:
- the value of the requested property
- Throws:
PropertyException
- when there is an error retrieving the given property or value property name
public ValidationEventHandler
getEventHandler() throws JAXBException
See also | getEventHandler() |
getEventHandler
public ValidationEventHandler getEventHandler() throws JAXBException
- Description copied from interface:
Marshaller
- Return the current event handler or the default event handler if one
hasn't been set.
- Specified by:
getEventHandler
in interfaceMarshaller
- Returns:
- the current ValidationEventHandler or the default event handler if it hasn't been set
- Throws:
JAXBException
- if an error was encountered while getting the current event handler- See Also:
Marshaller.getEventHandler()
public void
setEventHandler(ValidationEventHandler handler) throws JAXBException
See also | setEventHandler(ValidationEventHandler) |
setEventHandler
public void setEventHandler(ValidationEventHandler handler) throws JAXBException
- Description copied from interface:
Marshaller
- Allow an application to register a validation event handler.
The validation event handler will be called by the JAXB Provider if any validation errors are encountered during calls to any of the marshal API's. If the client application does not register a validation event handler before invoking one of the marshal methods, then validation events will be handled by the default event handler which will terminate the marshal operation after the first error or fatal error is encountered.
Calling this method with a null parameter will cause the Marshaller to revert back to the default default event handler.
- Specified by:
setEventHandler
in interfaceMarshaller
- Parameters:
handler
- the validation event handler- Throws:
JAXBException
- if an error was encountered while setting the event handler- See Also:
Marshaller.setEventHandler(ValidationEventHandler)
public void
marshal(Object obj, XMLEventWriter writer) throws JAXBException
英文文档:
marshal
public void marshal(Object obj, XMLEventWriter writer) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into a
XMLEventWriter
. - Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The content tree rooted at jaxbElement to be marshalled.writer
- XML will be sent to this writer.- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal obj (or any object reachable from obj). See Marshalling a JAXB element.
public void
marshal(Object obj, XMLStreamWriter writer) throws JAXBException
英文文档:
marshal
public void marshal(Object obj, XMLStreamWriter writer) throws JAXBException
- Description copied from interface:
Marshaller
- Marshal the content tree rooted at jaxbElement into a
XMLStreamWriter
. - Specified by:
marshal
in interfaceMarshaller
- Parameters:
obj
- The content tree to be marshalled.writer
- XML will be sent to this writer.- Throws:
JAXBException
- If any unexpected problem occurs during the marshalling.MarshalException
- If theValidationEventHandler
returns false from its handleEvent method or the Marshaller is unable to marshal obj (or any object reachable from obj). See Marshalling a JAXB element.
public void
setSchema(javax.xml.validation.Schema schema)
英文文档:
setSchema
public void setSchema(Schema schema)
- Description copied from interface:
Marshaller
- Specify the JAXP 1.3
Schema
object that should be used to validate subsequent marshal operations against. Passing null into this method will disable validation.This method allows the caller to validate the marshalled XML as it's marshalled.
Initially this property is set to null.
- Specified by:
setSchema
in interfaceMarshaller
- Parameters:
schema
- Schema object to validate marshal operations against or null to disable validation
public javax.xml.validation.Schema
getSchema()
英文文档:
getSchema
public Schema getSchema()
- Description copied from interface:
Marshaller
- Get the JAXP 1.3
Schema
object being used to perform marshal-time validation. If there is no Schema set on the marshaller, then this method will return null indicating that marshal-time validation will not be performed. - Specified by:
getSchema
in interfaceMarshaller
- Returns:
- the Schema object being used to perform marshal-time validation or null if not present.
public void
setAdapter(">XmlAdapter adapter)
英文文档:
setAdapter
public void setAdapter(XmlAdapter adapter)
- Description copied from interface:
Marshaller
- Associates a configured instance of
XmlAdapter
with this marshaller.This is a convenience method that invokes
setAdapter(adapter.getClass(),adapter);
. - Specified by:
setAdapter
in interfaceMarshaller
英文文档:
setAdapter
public <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter)
- Description copied from interface:
Marshaller
- Associates a configured instance of
XmlAdapter
with this marshaller.Every marshaller internally maintains a
Map
<Class
,XmlAdapter
>, which it uses for marshalling classes whose fields/methods are annotated withXmlJavaTypeAdapter
.This method allows applications to use a configured instance of
XmlAdapter
. When an instance of an adapter is not given, a marshaller will create one by invoking its default constructor. - Specified by:
setAdapter
in interfaceMarshaller
- Parameters:
type
- The type of the adapter. The specified instance will be used whenXmlJavaTypeAdapter.value()
refers to this type.adapter
- The instance of the adapter to be used. If null, it will un-register the current adapter set for this type.
英文文档:
getAdapter
public <A extends XmlAdapter> A getAdapter(Class<A> type)
- Description copied from interface:
Marshaller
- Gets the adapter associated with the specified type.
This is the reverse operation of the
Marshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)
method. - Specified by:
getAdapter
in interfaceMarshaller
public void
setAttachmentMarshaller(AttachmentMarshaller am)
英文文档:
setAttachmentMarshaller
public void setAttachmentMarshaller(AttachmentMarshaller am)
- Description copied from interface:
Marshaller
Associate a context that enables binary data within an XML document to be transmitted as XML-binary optimized attachment. The attachment is referenced from the XML document content model by content-id URIs(cid) references stored within the xml document.
- Specified by:
setAttachmentMarshaller
in interfaceMarshaller
public AttachmentMarshaller
getAttachmentMarshaller()
英文文档:
getAttachmentMarshaller
public AttachmentMarshaller getAttachmentMarshaller()
- Specified by:
getAttachmentMarshaller
in interfaceMarshaller
public void
setListener(Marshaller.Listener listener)
英文文档:
setListener
public void setListener(Marshaller.Listener listener)
- Description copied from interface:
Marshaller
Register marshal event callback
Marshaller.Listener
with thisMarshaller
.There is only one Listener per Marshaller. Setting a Listener replaces the previous set Listener. One can unregister current Listener by setting listener to null.
- Specified by:
setListener
in interfaceMarshaller
- Parameters:
listener
- an instance of a class that implementsMarshaller.Listener
public Marshaller.Listener
getListener()
英文文档:
getListener
public Marshaller.Listener getListener()
- Description copied from interface:
Marshaller
Return
Marshaller.Listener
registered with thisMarshaller
.- Specified by:
getListener
in interfaceMarshaller
- Returns:
- registered
Marshaller.Listener
ornull
if no Listener is registered with this Marshaller.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Submit a bug or feature
Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!