You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/03/12 23:34:54 UTC
svn commit: r1666328 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java
Author: tilman
Date: Thu Mar 12 22:34:54 2015
New Revision: 1666328
URL: http://svn.apache.org/r1666328
Log:
PDFBOX-2576: use base class, as suggested by Martin Schröder; make fields final
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java?rev=1666328&r1=1666327&r2=1666328&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripperByArea.java Thu Mar 12 22:34:54 2015
@@ -36,11 +36,11 @@ import org.apache.pdfbox.pdmodel.common.
*/
public class PDFTextStripperByArea extends PDFTextStripper
{
- private List<String> regions = new ArrayList<String>();
- private Map<String,Rectangle2D> regionArea = new HashMap<String,Rectangle2D>();
- private Map<String,Vector<ArrayList<TextPosition>>> regionCharacterList =
- new HashMap<String,Vector<ArrayList<TextPosition>>>();
- private Map<String,StringWriter> regionText = new HashMap<String,StringWriter>();
+ private final List<String> regions = new ArrayList<String>();
+ private final Map<String, Rectangle2D> regionArea = new HashMap<String, Rectangle2D>();
+ private final Map<String, Vector<List<TextPosition>>> regionCharacterList
+ = new HashMap<String, Vector<List<TextPosition>>>();
+ private final Map<String, StringWriter> regionText = new HashMap<String, StringWriter>();
/**
* Constructor.
@@ -101,7 +101,7 @@ public class PDFTextStripperByArea exten
//reset the stored text for the region so this class
//can be reused.
String regionName = regionIter.next();
- Vector<ArrayList<TextPosition>> regionCharactersByArticle = new Vector<ArrayList<TextPosition>>();
+ Vector<List<TextPosition>> regionCharactersByArticle = new Vector<List<TextPosition>>();
regionCharactersByArticle.add( new ArrayList<TextPosition>() );
regionCharacterList.put( regionName, regionCharactersByArticle );
regionText.put( regionName, new StringWriter() );
@@ -128,7 +128,7 @@ public class PDFTextStripperByArea exten
Rectangle2D rect = regionArea.get( region );
if( rect.contains( text.getX(), text.getY() ) )
{
- charactersByArticle = (Vector)regionCharacterList.get( region );
+ charactersByArticle = regionCharacterList.get( region );
super.processTextPosition( text );
}
}
@@ -140,13 +140,14 @@ public class PDFTextStripperByArea exten
*
* @throws IOException If there is an error writing the text.
*/
+ @Override
protected void writePage() throws IOException
{
Iterator<String> regionIter = regionArea.keySet().iterator();
while( regionIter.hasNext() )
{
String region = regionIter.next();
- charactersByArticle = (Vector)regionCharacterList.get( region );
+ charactersByArticle = regionCharacterList.get( region );
output = regionText.get( region );
super.writePage();
}