Add get/set indentationLeftChars/indentationRightChars in paragraph

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1881232 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
index d28ead6..58064b0 100644
--- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
+++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
@@ -1167,6 +1167,32 @@
     }
 
     /**
+     * Get the indentation which is placed at the left/start of this paragraph
+     *
+     * @return indentation in hundredths of a character unit or -1 if indentation is not set
+     */
+    public int getIndentationLeftChars() {
+        CTInd indentation = getCTInd(false);
+        return (indentation != null && indentation.isSetLeftChars()) ? indentation.getLeftChars().intValue()
+                : -1;
+    }
+
+    /**
+     * Specifies the indentation which shall be placed at the left/start of this paragraph
+     * <p>
+     * If this attribute is omitted, its value shall be assumed to be zero.
+     * if the left/start attribute is specified, then its value is ignored, and is superseded by this value.
+     * </p>
+     *
+     * @param indentation this value is specified in hundredths of a character unit
+     */
+    public void setIndentationLeftChars(int indentation) {
+        CTInd indent = getCTInd(true);
+        BigInteger bi = new BigInteger(Integer.toString(indentation));
+        indent.setLeftChars(bi);
+    }
+
+    /**
      * Specifies the indentation which shall be placed between the right text
      * margin for this paragraph and the right edge of that paragraph's content
      * in a left to right paragraph, and the right text margin and the right
@@ -1206,6 +1232,32 @@
     }
 
     /**
+     * Get the indentation which is placed at the right/end of this paragraph
+     *
+     * @return indentation in hundredths of a character unit or -1 if indentation is not set
+     */
+    public int getIndentationRightChars() {
+        CTInd indentation = getCTInd(false);
+        return (indentation != null && indentation.isSetRightChars()) ? indentation.getRightChars().intValue()
+                : -1;
+    }
+
+    /**
+     * Specifies the indentation which shall be placed at the right/end of this paragraph
+     * <p>
+     * If this attribute is omitted, its value shall be assumed to be zero.
+     * if the right/end attribute is specified, then its value is ignored, and is superseded by this value.
+     * </p>
+     *
+     * @param indentation this value is specified in hundredths of a character unit
+     */
+    public void setIndentationRightChars(int indentation) {
+        CTInd indent = getCTInd(true);
+        BigInteger bi = new BigInteger(Integer.toString(indentation));
+        indent.setRightChars(bi);
+    }
+
+    /**
      * Specifies the indentation which shall be removed from the first line of
      * the parent paragraph, by moving the indentation on the first line back
      * towards the beginning of the direction of text flow.
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
index 3ce354b..6dd394a 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
@@ -202,6 +202,22 @@
     }
 
     @Test
+    public void testSetGetIndentationChars() throws IOException {
+        try (XWPFDocument doc = new XWPFDocument()) {
+            XWPFParagraph p = doc.createParagraph();
+
+            assertEquals(-1, p.getIndentationLeftChars());
+            assertEquals(-1, p.getIndentationRightChars());
+            // set 1.5 characters
+            p.setIndentationLeftChars(150);
+            assertEquals(150, p.getIndentationLeftChars());
+
+            p.setIndentationRightChars(250);
+            assertEquals(250, p.getIndentationRightChars());
+        }
+    }
+
+    @Test
     public void testSetGetIndentation() throws IOException {
         try (XWPFDocument doc = new XWPFDocument()) {
             XWPFParagraph p = doc.createParagraph();
@@ -221,7 +237,6 @@
             assertEquals(100, ind.getLeft().intValue());
         }
     }
-
     @Test
     public void testSetGetVerticalAlignment() throws IOException {
         //new clean instance of paragraph