From 839e94618d206f78406f6ce85a28726752431d21 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Mon, 17 Aug 2009 08:50:41 +0000 Subject: [PATCH] SWS-548 - Expose suppressNamespace and suppressXSIType as properties to CastorMarshaller --- .../oxm/castor/CastorMarshaller.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/org.springframework.oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java b/org.springframework.oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java index a7156199ff..abe2be2675 100644 --- a/org.springframework.oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java +++ b/org.springframework.oxm/src/main/java/org/springframework/oxm/castor/CastorMarshaller.java @@ -104,6 +104,10 @@ public class CastorMarshaller extends AbstractMarshaller implements Initializing private XMLContext xmlContext; + private boolean suppressNamespaces = false; + + private boolean suppressXsiType = false; + /** * Set the encoding to be used for stream access. @@ -180,6 +184,35 @@ public class CastorMarshaller extends AbstractMarshaller implements Initializing this.namespaceMappings = namespaceMappings; } + /** Returns whether this marshaller should output namespaces. */ + public boolean isSuppressNamespaces() { + return suppressNamespaces; + } + + /** + * Sets whether this marshaller should output namespaces. The default is {@code false}, i.e. namespaces are + * written. + * + * @see org.exolab.castor.xml.Marshaller#setSuppressNamespaces(boolean) + */ + public void setSuppressNamespaces(boolean suppressNamespaces) { + this.suppressNamespaces = suppressNamespaces; + } + + /** Sets whether this marshaller should output the xsi:type attribute. */ + public boolean isSuppressXsiType() { + return suppressXsiType; + } + + /** + * Sets whether this marshaller should output the {@code xsi:type} attribute. The default is {@code false}, i.e. the + * {@code xsi:type} is written. + * + * @see org.exolab.castor.xml.Marshaller#setSuppressXSIType(boolean) + */ + public void setSuppressXsiType(boolean suppressXsiType) { + this.suppressXsiType = suppressXsiType; + } public final void afterPropertiesSet() throws CastorMappingException, IOException { @@ -296,6 +329,8 @@ public class CastorMarshaller extends AbstractMarshaller implements Initializing */ protected void customizeMarshaller(Marshaller marshaller) { marshaller.setValidation(this.validating); + marshaller.setSuppressNamespaces(isSuppressNamespaces()); + marshaller.setSuppressXSIType(isSuppressXsiType()); if (this.namespaceMappings != null) { for (Map.Entry entry : namespaceMappings.entrySet()) { marshaller.setNamespaceMapping(entry.getKey(), entry.getValue());