|
BEA Systems, Inc. | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weblogic.apache.xml.utils.SuballocatedByteVector
A very simple table that stores a list of byte. Very similar API to our IntVector class (same API); different internal storage. This version uses an array-of-arrays solution. Read/write access is thus a bit slower than the simple IntVector, and basic storage is a trifle higher due to the top-level array -- but appending is O(1) fast rather than O(N**2) slow, which will swamp those costs in situations where long vectors are being built up. Known issues: Some methods are private because they haven't yet been tested properly. If an element has not been set (because we skipped it), its value will initially be 0. Shortening the vector does not clear old storage; if you then skip values and setElementAt a higher index again, you may see old data reappear in the truncated-and-restored section. Doing anything else would have performance costs.
This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.
Field Summary | |
protected int |
m_blocksize
Size of blocks to allocate |
protected int |
m_firstFree
Number of bytes in array |
protected byte[][] |
m_map
Array of arrays of bytes |
protected byte[] |
m_map0
"Shortcut" handle to m_map[0] |
protected int |
m_numblocks
Number of blocks to (over)allocate by |
Constructor Summary | |
SuballocatedByteVector()
Default constructor. |
|
SuballocatedByteVector(int blocksize)
Construct a ByteVector, using the given block size. |
|
SuballocatedByteVector(int blocksize,
int increaseSize)
Construct a ByteVector, using the given block size. |
Method Summary | |
void |
addElement(byte value)
Append a byte onto the vector. |
byte |
elementAt(int i)
Get the nth element. |
int |
indexOf(byte elem)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method. |
int |
indexOf(byte elem,
int index)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method. |
void |
removeAllElements()
Wipe it out. |
void |
setElementAt(byte value,
int at)
Sets the component at the specified index of this vector to be the specified object. |
int |
size()
Get the length of the list. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected int m_blocksize
protected int m_numblocks
protected byte[][] m_map
protected int m_firstFree
protected byte[] m_map0
Constructor Detail |
public SuballocatedByteVector()
public SuballocatedByteVector(int blocksize)
blocksize
- Size of block to allocatepublic SuballocatedByteVector(int blocksize, int increaseSize)
blocksize
- Size of block to allocateMethod Detail |
public int size()
public void addElement(byte value)
value
- Byte to add to the listpublic void removeAllElements()
public void setElementAt(byte value, int at)
node
- object to setindex
- Index of where to set the objectpublic byte elementAt(int i)
i
- index of value to getpublic int indexOf(byte elem, int index)
elem
- object to look forindex
- Index of where to begin searchpublic int indexOf(byte elem)
elem
- object to look for
|
Documentation is available at http://download.oracle.com/docs/cd/E13222_01/wls/docs70 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |