Fixed compiler errors. Other improvements for type safety and immutability.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@658984 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b1ad25f7e3
commit
d3ee29261c
@ -21,17 +21,18 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class holds all the FSPA (File Shape Address) structures.
|
* This class holds all the FSPA (File Shape Address) structures.
|
||||||
*
|
*
|
||||||
* @author Squeeself
|
* @author Squeeself
|
||||||
*/
|
*/
|
||||||
public class FSPATable
|
public final class FSPATable
|
||||||
{
|
{
|
||||||
protected ArrayList shapes = new ArrayList();
|
private final List _shapes = new ArrayList();
|
||||||
protected HashMap cps = new HashMap();
|
private final Map _shapeIndexesByPropertyStart = new HashMap();
|
||||||
protected List _text;
|
private final List _text;
|
||||||
|
|
||||||
public FSPATable(byte[] tableStream, int fcPlcspa, int lcbPlcspa, List tpt)
|
public FSPATable(byte[] tableStream, int fcPlcspa, int lcbPlcspa, List tpt)
|
||||||
{
|
{
|
||||||
@ -46,32 +47,35 @@ public class FSPATable
|
|||||||
GenericPropertyNode property = plex.getProperty(i);
|
GenericPropertyNode property = plex.getProperty(i);
|
||||||
FSPA fspa = new FSPA(property.getBytes(), 0);
|
FSPA fspa = new FSPA(property.getBytes(), 0);
|
||||||
|
|
||||||
shapes.add(fspa);
|
_shapes.add(fspa);
|
||||||
cps.put(Integer.valueOf(property.getStart()), Integer.valueOf(i));
|
_shapeIndexesByPropertyStart.put(new Integer(property.getStart()), new Integer(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public FSPA getFspaFromCp(int cp)
|
public FSPA getFspaFromCp(int cp)
|
||||||
{
|
{
|
||||||
Integer idx = (Integer)cps.get(Integer.valueOf(cp));
|
Integer idx = (Integer)_shapeIndexesByPropertyStart.get(new Integer(cp));
|
||||||
if (idx == null)
|
if (idx == null) {
|
||||||
return null;
|
return null;
|
||||||
return (FSPA)shapes.get(idx.intValue());
|
}
|
||||||
|
return (FSPA)_shapes.get(idx.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List getShapes()
|
public FSPA[] getShapes()
|
||||||
{
|
{
|
||||||
return shapes;
|
FSPA[] result = new FSPA[_shapes.size()];
|
||||||
|
_shapes.toArray(result);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
StringBuffer buf = new StringBuffer();
|
StringBuffer buf = new StringBuffer();
|
||||||
buf.append("[FPSA PLC size=").append(shapes.size()).append("]\n");
|
buf.append("[FPSA PLC size=").append(_shapes.size()).append("]\n");
|
||||||
for (Iterator it = cps.keySet().iterator(); it.hasNext(); )
|
for (Iterator it = _shapeIndexesByPropertyStart.keySet().iterator(); it.hasNext(); )
|
||||||
{
|
{
|
||||||
Integer i = (Integer) it.next();
|
Integer i = (Integer) it.next();
|
||||||
FSPA fspa = (FSPA) shapes.get(((Integer)cps.get(i)).intValue());
|
FSPA fspa = (FSPA) _shapes.get(((Integer)_shapeIndexesByPropertyStart.get(i)).intValue());
|
||||||
buf.append(" [FC: ").append(i.toString()).append("] ");
|
buf.append(" [FC: ").append(i.toString()).append("] ");
|
||||||
buf.append(fspa.toString());
|
buf.append(fspa.toString());
|
||||||
buf.append("\n");
|
buf.append("\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user