Package org.apache.cxf.aegis.type.mtom
Class AbstractXOPType
java.lang.Object
org.apache.cxf.aegis.type.AegisType
org.apache.cxf.aegis.type.mtom.AbstractXOPType
- Direct Known Subclasses:
ByteArrayType,DataHandlerType,DataSourceType
Base class for MtoM types.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractXOPType(boolean useXmimeBinaryType, String expectedContentTypes) Create an XOP type. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToSchemaElement(org.apache.ws.commons.schema.XmlSchemaElement schemaElement) If the type object merely wants to contribute attributes to the xsd:element element, it can implement this.protected abstract org.apache.cxf.message.AttachmentcreateAttachment(Object object, String id) protected abstract byte[]if MtoM is not enabled, we need bytes to turn into base64.protected abstract StringgetContentType(Object object, Context context) protected abstract ObjectreadAttachment(org.apache.cxf.message.Attachment att, Context context) readMtoM(MessageReader reader, Context context) This is called from base64Type when it recognizes an XOP attachment.readObject(MessageReader reader, Context context) This defers to the plain base64 type, which calls back into here above for XOP.booleanprotected abstract ObjectIf one of these types arrives unoptimized, we need to convert it to the desired return type.voidwriteObject(Object object, MessageWriter writer, Context context) Writes the object to the MessageWriter.Methods inherited from class org.apache.cxf.aegis.type.AegisType
equals, getDependencies, getMaxOccurs, getMinOccurs, getSchemaType, getType, getTypeClass, getTypeMapping, hashCode, hasMaxOccurs, hasMinOccurs, isAbstract, isComplex, isFlatArray, isNillable, isWriteOuter, setAbstract, setFlatArray, setNillable, setSchemaType, setTypeClass, setTypeMapping, setWriteOuter, toString, usesUtilityTypes, writeSchema
-
Field Details
-
XOP_NS
- See Also:
-
XML_MIME_NS
- See Also:
-
XML_MIME_ATTR_LOCAL_NAME
- See Also:
-
XOP_INCLUDE
-
XML_MIME_CONTENT_TYPE
-
XOP_HREF
-
XML_MIME_BASE64
-
-
Constructor Details
-
AbstractXOPType
Create an XOP type. This type will use xmime to publish and receive the content type via xmime:base64Binary if useXmimeBinaryType is true. If expectedContentTypes != null, then it will use xmime to advertise expected content types.- Parameters:
useXmimeBinaryType- whether to use xmime:base64Binary.expectedContentTypes- whether to public xmime:expectedContentTypes.
-
-
Method Details
-
readMtoM
This is called from base64Type when it recognizes an XOP attachment.- Parameters:
reader-context-- Returns:
- Throws:
DatabindingException
-
readObject
This defers to the plain base64 type, which calls back into here above for XOP. Read in the XML fragment and create an object.- Specified by:
readObjectin classAegisType- Returns:
- Throws:
DatabindingException
-
readAttachment
protected abstract Object readAttachment(org.apache.cxf.message.Attachment att, Context context) throws IOException - Throws:
IOException
-
writeObject
public void writeObject(Object object, MessageWriter writer, Context context) throws DatabindingException Description copied from class:AegisTypeWrites the object to the MessageWriter.- Specified by:
writeObjectin classAegisType- Throws:
DatabindingException
-
createAttachment
-
getContentType
-
wrapBytes
If one of these types arrives unoptimized, we need to convert it to the desired return type.- Parameters:
bareBytes- the bytes pulled out of the base64.contentType- when we support xmime:contentType, this will be passed along.- Returns:
-
getBytes
if MtoM is not enabled, we need bytes to turn into base64.- Returns:
-
addToSchemaElement
public void addToSchemaElement(org.apache.ws.commons.schema.XmlSchemaElement schemaElement) Description copied from class:AegisTypeIf the type object merely wants to contribute attributes to the xsd:element element, it can implement this.- Overrides:
addToSchemaElementin classAegisType
-
usesXmime
public boolean usesXmime()
-