]> source.dussan.org Git - poi.git/commitdiff
rename methods to make the difference between field end (exclusive) and field end...
authorSergey Vladimirov <sergey@apache.org>
Fri, 15 Jul 2011 12:58:14 +0000 (12:58 +0000)
committerSergey Vladimirov <sergey@apache.org>
Fri, 15 Jul 2011 12:58:14 +0000 (12:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1147134 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java
src/scratchpad/src/org/apache/poi/hwpf/model/Field.java
src/scratchpad/src/org/apache/poi/hwpf/model/FieldsTables.java

index e5fd7382cce58cb9c3101978a5c22256feb9deb9..d83b91b7bb43ebdf6fabe2f5dc7f95043980e085 100644 (file)
@@ -118,7 +118,7 @@ public abstract class AbstractWordConverter
                         processField( ( (HWPFDocument) hwpfDocument ), range,
                                 currentTableLevel, aliveField, block );
 
-                        int continueAfter = aliveField.getEndOffset();
+                        int continueAfter = aliveField.getFieldEndOffset();
                         while ( c < range.numCharacterRuns()
                                 && range.getCharacterRun( c ).getEndOffset() <= continueAfter )
                             c++;
@@ -445,7 +445,7 @@ public abstract class AbstractWordConverter
                         currentBlock );
                 if ( possibleField != null )
                 {
-                    c = possibleField.getEndOffset();
+                    c = possibleField.getFieldEndOffset();
                 }
                 else
                 {
index 883d5cf09753790e73300acefc83105a62055360..f12209a16bc914e906c9991fcf89712150c89346 100644 (file)
@@ -4,9 +4,9 @@ import org.apache.poi.hwpf.usermodel.Range;
 
 public class Field
 {
-    private PlexOfField startPlex;
-    private PlexOfField separatorPlex;
     private PlexOfField endPlex;
+    private PlexOfField separatorPlex;
+    private PlexOfField startPlex;
 
     public Field( PlexOfField startPlex, PlexOfField separatorPlex,
             PlexOfField endPlex )
@@ -34,12 +34,42 @@ public class Field
         this.endPlex = endPlex;
     }
 
-    public int getStartOffset()
+    public Range firstSubrange( Range parent )
     {
-        return startPlex.getFcStart();
+        if ( hasSeparator() )
+        {
+            if ( getMarkStartOffset() + 1 == getMarkSeparatorOffset() )
+                return null;
+
+            return new Range( getMarkStartOffset() + 1,
+                    getMarkSeparatorOffset(), parent )
+            {
+                @Override
+                public String toString()
+                {
+                    return "FieldSubrange1 (" + super.toString() + ")";
+                }
+            };
+        }
+
+        if ( getMarkStartOffset() + 1 == getMarkEndOffset() )
+            return null;
+
+        return new Range( getMarkStartOffset() + 1, getMarkEndOffset(), parent )
+        {
+            @Override
+            public String toString()
+            {
+                return "FieldSubrange1 (" + super.toString() + ")";
+            }
+        };
     }
 
-    public int getEndOffset()
+    /**
+     * @return character position of first character after field (i.e.
+     *         {@link #getMarkEndOffset()} + 1)
+     */
+    public int getFieldEndOffset()
     {
         /*
          * sometimes plex looks like [100, 2000), where 100 is the position of
@@ -49,34 +79,53 @@ public class Field
         return endPlex.getFcStart() + 1;
     }
 
-    public boolean hasSeparator()
+    /**
+     * @return character position of first character in field (i.e.
+     *         {@link #getFieldStartOffset()})
+     */
+    public int getFieldStartOffset()
     {
-        return separatorPlex != null;
+        return startPlex.getFcStart();
+    }
+
+    /**
+     * @return character position of end field mark
+     */
+    public int getMarkEndOffset()
+    {
+        return endPlex.getFcStart();
     }
 
-    public int getSeparatorOffset()
+    /**
+     * @return character position of separator field mark (if present,
+     *         {@link NullPointerException} otherwise)
+     */
+    public int getMarkSeparatorOffset()
     {
         return separatorPlex.getFcStart();
     }
 
-    public int getType()
+    /**
+     * @return character position of start field mark
+     */
+    public int getMarkStartOffset()
     {
-        return startPlex.getFld().getFieldType();
+        return startPlex.getFcStart();
     }
 
-    public boolean isZombieEmbed()
+    public int getType()
     {
-        return endPlex.getFld().isFZombieEmbed();
+        return startPlex.getFld().getFieldType();
     }
 
-    public boolean isResultDirty()
+    public boolean hasSeparator()
     {
-        return endPlex.getFld().isFResultDirty();
+        return separatorPlex != null;
     }
 
-    public boolean isResultEdited()
+    public boolean isHasSep()
     {
-        return endPlex.getFld().isFResultEdited();
+        return endPlex.getFld().isFHasSep();
     }
 
     public boolean isLocked()
@@ -84,58 +133,39 @@ public class Field
         return endPlex.getFld().isFLocked();
     }
 
+    public boolean isNested()
+    {
+        return endPlex.getFld().isFNested();
+    }
+
     public boolean isPrivateResult()
     {
         return endPlex.getFld().isFPrivateResult();
     }
 
-    public boolean isNested()
+    public boolean isResultDirty()
     {
-        return endPlex.getFld().isFNested();
+        return endPlex.getFld().isFResultDirty();
     }
 
-    public boolean isHasSep()
+    public boolean isResultEdited()
     {
-        return endPlex.getFld().isFHasSep();
+        return endPlex.getFld().isFResultEdited();
     }
 
-    public Range firstSubrange( Range parent )
+    public boolean isZombieEmbed()
     {
-        if ( hasSeparator() )
-        {
-            if ( getStartOffset() + 1 == getSeparatorOffset() )
-                return null;
-
-            return new Range( getStartOffset() + 1, getSeparatorOffset(),
-                    parent )
-            {
-                @Override
-                public String toString()
-                {
-                    return "FieldSubrange1 (" + super.toString() + ")";
-                }
-            };
-        }
-
-        if ( getStartOffset() + 1 == getEndOffset() )
-            return null;
-
-        return new Range( getStartOffset() + 1, getEndOffset(), parent )
-        {
-            @Override
-            public String toString()
-            {
-                return "FieldSubrange1 (" + super.toString() + ")";
-            }
-        };
+        return endPlex.getFld().isFZombieEmbed();
     }
 
     public Range secondSubrange( Range parent )
     {
-        if ( !hasSeparator() || getSeparatorOffset() + 1 == getEndOffset() )
+        if ( !hasSeparator()
+                || getMarkSeparatorOffset() + 1 == getMarkEndOffset() )
             return null;
 
-        return new Range( getSeparatorOffset() + 1, getEndOffset(), parent )
+        return new Range( getMarkSeparatorOffset() + 1, getMarkEndOffset(),
+                parent )
         {
             @Override
             public String toString()
@@ -148,7 +178,7 @@ public class Field
     @Override
     public String toString()
     {
-        return "Field [" + getStartOffset() + "; " + getEndOffset()
+        return "Field [" + getFieldStartOffset() + "; " + getFieldEndOffset()
                 + "] (type: 0x" + Integer.toHexString( getType() ) + " = "
                 + getType() + " )";
     }
index 723f8dfa8e0d0c36ee6225cc16549f61dca09d0a..9b156ce831c46a5ab69bb38162d7e6304fe01c90 100644 (file)
@@ -114,7 +114,7 @@ public class FieldsTables
                 fields.size() );
         for ( Field field : fields )
         {
-            result.put( Integer.valueOf( field.getStartOffset() ), field );
+            result.put( Integer.valueOf( field.getFieldStartOffset() ), field );
         }
         return result;
     }