public class org.apache.axiom.om.ds.jaxb.JAXBOMDataSource extends org.apache.axiom.om.ds.AbstractPushOMDataSource implements org.apache.axiom.om.QNameAwareOMDataSource
{
private final javax.xml.bind.JAXBContext context;
private final java.lang.Object object;
private javax.xml.namespace.QName cachedQName;
public void <init>(javax.xml.bind.JAXBContext, java.lang.Object)
{
java.lang.Object v;
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
javax.xml.bind.JAXBContext v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v := @parameter: javax.xml.bind.JAXBContext;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.axiom.om.ds.AbstractPushOMDataSource: void <init>()>();
v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.bind.JAXBContext context> = v;
v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object> = v;
return;
}
public boolean isDestructiveWrite()
{
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
return 0;
}
public void serialize(javax.xml.stream.XMLStreamWriter) throws javax.xml.stream.XMLStreamException
{
java.lang.Throwable v, v;
javax.xml.bind.Marshaller v;
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
org.apache.axiom.om.ds.jaxb.AttachmentMarshallerImpl v;
org.apache.axiom.om.OMException v;
java.lang.Boolean v;
java.lang.Object v;
javax.xml.stream.XMLStreamWriter v;
javax.xml.bind.JAXBContext v;
boolean v, v, v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v := @parameter: javax.xml.stream.XMLStreamWriter;
label:
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.bind.JAXBContext context>;
v = virtualinvoke v.<javax.xml.bind.JAXBContext: javax.xml.bind.Marshaller createMarshaller()>();
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
interfaceinvoke v.<javax.xml.bind.Marshaller: void setProperty(java.lang.String,java.lang.Object)>("jaxb.fragment", v);
v = v instanceof org.apache.axiom.om.impl.MTOMXMLStreamWriter;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.axiom.om.impl.MTOMXMLStreamWriter: boolean isOptimized()>();
if v == 0 goto label;
v = new org.apache.axiom.om.ds.jaxb.AttachmentMarshallerImpl;
specialinvoke v.<org.apache.axiom.om.ds.jaxb.AttachmentMarshallerImpl: void <init>(org.apache.axiom.om.impl.MTOMXMLStreamWriter)>(v);
interfaceinvoke v.<javax.xml.bind.Marshaller: void setAttachmentMarshaller(javax.xml.bind.attachment.AttachmentMarshaller)>(v);
label:
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
interfaceinvoke v.<javax.xml.bind.Marshaller: void marshal(java.lang.Object,javax.xml.stream.XMLStreamWriter)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<javax.xml.bind.JAXBException: java.lang.Throwable getCause()>();
label:
if v == null goto label;
v = v instanceof javax.xml.stream.XMLStreamException;
if v == 0 goto label;
throw v;
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
goto label;
label:
v = new org.apache.axiom.om.OMException;
specialinvoke v.<org.apache.axiom.om.OMException: void <init>(java.lang.String,java.lang.Throwable)>("Error marshalling JAXB object", v);
throw v;
label:
return;
catch javax.xml.bind.JAXBException from label to label with label;
}
private javax.xml.namespace.QName getQName()
{
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
org.apache.axiom.om.OMException v;
javax.xml.bind.JAXBIntrospector v;
java.lang.Object v, v, v;
javax.xml.namespace.QName v, v, v, v, v;
javax.xml.bind.JAXBContext v;
boolean v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName cachedQName>;
if v != null goto label;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
v = v instanceof javax.xml.bind.JAXBElement;
if v == 0 goto label;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
v = virtualinvoke v.<javax.xml.bind.JAXBElement: javax.xml.namespace.QName getName()>();
v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName cachedQName> = v;
goto label;
label:
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.bind.JAXBContext context>;
v = virtualinvoke v.<javax.xml.bind.JAXBContext: javax.xml.bind.JAXBIntrospector createJAXBIntrospector()>();
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
v = virtualinvoke v.<javax.xml.bind.JAXBIntrospector: javax.xml.namespace.QName getElementName(java.lang.Object)>(v);
v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName cachedQName> = v;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName cachedQName>;
if v != null goto label;
v = new org.apache.axiom.om.OMException;
specialinvoke v.<org.apache.axiom.om.OMException: void <init>(java.lang.String)>("Unable to determine the element name of the object");
throw v;
label:
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName cachedQName>;
return v;
}
public java.lang.String getLocalName()
{
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
java.lang.String v;
javax.xml.namespace.QName v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = specialinvoke v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName getQName()>();
v = virtualinvoke v.<javax.xml.namespace.QName: java.lang.String getLocalPart()>();
return v;
}
public java.lang.String getNamespaceURI()
{
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
java.lang.String v;
javax.xml.namespace.QName v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = specialinvoke v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.namespace.QName getQName()>();
v = virtualinvoke v.<javax.xml.namespace.QName: java.lang.String getNamespaceURI()>();
return v;
}
public java.lang.String getPrefix()
{
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
return null;
}
public java.lang.Object getObject()
{
java.lang.Object v;
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
return v;
}
public org.apache.axiom.om.OMDataSourceExt copy()
{
java.lang.Object v;
org.apache.axiom.om.ds.jaxb.JAXBOMDataSource v, v;
javax.xml.bind.JAXBContext v;
v := @this: org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = new org.apache.axiom.om.ds.jaxb.JAXBOMDataSource;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: javax.xml.bind.JAXBContext context>;
v = v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: java.lang.Object object>;
specialinvoke v.<org.apache.axiom.om.ds.jaxb.JAXBOMDataSource: void <init>(javax.xml.bind.JAXBContext,java.lang.Object)>(v, v);
return v;
}
}