You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2015/09/20 21:44:44 UTC

svn commit: r1704178 - in /webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common: AxiomTextSupport.aj TextContent.java

Author: veithen
Date: Sun Sep 20 19:44:40 2015
New Revision: 1704178

URL: http://svn.apache.org/viewvc?rev=1704178&view=rev
Log:
Correctly encapsulate TextContent.

Modified:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj?rev=1704178&r1=1704177&r2=1704178&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj Sun Sep 20 19:44:40 2015
@@ -28,7 +28,6 @@ import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.impl.common.serializer.push.OutputException;
 import org.apache.axiom.om.impl.common.serializer.push.Serializer;
-import org.apache.axiom.util.UIDGenerator;
 
 public aspect AxiomTextSupport {
     private TextContent AxiomText.getTextContent(boolean force) {
@@ -46,28 +45,25 @@ public aspect AxiomTextSupport {
     
     public final boolean AxiomText.isBinary() {
         TextContent textContent = getTextContent(false);
-        return textContent != null && textContent.binary;
+        return textContent != null && textContent.isBinary();
     }
 
     public final void AxiomText.setBinary(boolean binary) {
         TextContent textContent = getTextContent(binary);
         if (textContent != null) {
-            textContent.binary = binary;
+            textContent.setBinary(binary);
         }
     }
 
     public final boolean AxiomText.isOptimized() {
         TextContent textContent = getTextContent(false);
-        return textContent != null && textContent.optimize;
+        return textContent != null && textContent.isOptimize();
     }
 
     public final void AxiomText.setOptimize(boolean optimize) {
         TextContent textContent = getTextContent(optimize);
         if (textContent != null) {
-            textContent.optimize = optimize;
-            if (optimize) {
-                textContent.binary = true;
-            }
+            setOptimize(optimize);
         }
     }
     
@@ -113,23 +109,22 @@ public aspect AxiomTextSupport {
     }
 
     public final String AxiomText.getContentID() {
-        TextContent textContent = getTextContent(true);
-        if (textContent.contentID == null) {
-            textContent.contentID = UIDGenerator.generateContentId();
-        }
-        return textContent.contentID;
+        return getTextContent(true).getContentID();
     }
 
     public final void AxiomText.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
         Object content = coreGetCharacterData();
         if (content instanceof TextContent) {
             TextContent textContent = (TextContent)content;
-            if (!textContent.binary) {
-                serializer.writeText(getType(), textContent.value);
-            } else if (textContent.dataHandlerObject instanceof DataHandlerProvider) {
-                serializer.writeDataHandler((DataHandlerProvider)textContent.dataHandlerObject, textContent.contentID, textContent.optimize);
+            if (textContent.isBinary()) {
+                Object dataHandlerObject = textContent.getDataHandlerObject();
+                if (dataHandlerObject instanceof DataHandlerProvider) {
+                    serializer.writeDataHandler((DataHandlerProvider)dataHandlerObject, textContent.getContentID(), textContent.isOptimize());
+                } else {
+                    serializer.writeDataHandler(textContent.getDataHandler(), textContent.getContentID(), textContent.isOptimize());
+                }
             } else {
-                serializer.writeDataHandler(textContent.getDataHandler(), textContent.contentID, textContent.optimize);
+                serializer.writeText(getType(), textContent.toString());
             }
         } else {
             serializer.writeText(getType(), (String)content);
@@ -144,6 +139,6 @@ public aspect AxiomTextSupport {
     }
 
     public final void AxiomText.setContentID(String cid) {
-        getTextContent(true).contentID = cid;
+        getTextContent(true).setContentID(cid);
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java?rev=1704178&r1=1704177&r2=1704178&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java Sun Sep 20 19:44:40 2015
@@ -28,24 +28,25 @@ import org.apache.axiom.core.ClonePolicy
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
 import org.apache.axiom.om.OMCloneOptions;
 import org.apache.axiom.om.OMException;
+import org.apache.axiom.util.UIDGenerator;
 import org.apache.axiom.util.base64.Base64Utils;
 
 public final class TextContent implements CharacterData {
-    final String value;
+    private final String value;
     
-    final String mimeType;
+    private final String mimeType;
     
     /** Field contentID for the mime part used when serializing Binary stuff as MTOM optimized. */
-    String contentID;
+    private String contentID;
     
     /**
      * Contains a {@link DataHandler} or {@link DataHandlerProvider} object if the text node
      * represents base64 encoded binary data.
      */
-    Object dataHandlerObject;
+    private Object dataHandlerObject;
 
-    boolean optimize;
-    boolean binary;
+    private boolean optimize;
+    private boolean binary;
     
     TextContent(String value) {
         this.value = value;
@@ -84,6 +85,40 @@ public final class TextContent implement
         this.binary = other.binary;
     }
 
+    boolean isOptimize() {
+        return optimize;
+    }
+
+    void setOptimize(boolean optimize) {
+        this.optimize = optimize;
+        if (optimize) {
+            binary = true;
+        }
+    }
+
+    boolean isBinary() {
+        return binary;
+    }
+
+    void setBinary(boolean binary) {
+        this.binary = binary;
+    }
+
+    String getContentID() {
+        if (contentID == null) {
+            contentID = UIDGenerator.generateContentId();
+        }
+        return contentID;
+    }
+
+    void setContentID(String contentID) {
+        this.contentID = contentID;
+    }
+
+    Object getDataHandlerObject() {
+        return dataHandlerObject;
+    }
+
     DataHandler getDataHandler() {
         if (dataHandlerObject != null) {
             if (dataHandlerObject instanceof DataHandlerProvider) {