/** * Create a new MutableXMLStreamBuffer. * * @param size * The size of the arrays used in the internal representation * of the XML infoset. * @throws NegativeArraySizeException * If the <code>size</code> argument is less than <code>0</code>. */ public MutableXMLStreamBuffer(int size) { _structure = new FragmentedArray<byte[]>(new byte[size]); _structureStrings = new FragmentedArray<String[]>(new String[size]); _contentCharactersBuffer = new FragmentedArray<char[]>(new char[4096]); _contentObjects = new FragmentedArray<Object[]>(new Object[size]); // Set the first element of structure array to indicate an empty buffer // that has not been created _structure.getArray()[0] = (byte) AbstractCreatorProcessor.T_END; }
protected final void resizeStructure() { _structurePtr = 0; if (_currentStructureFragment.getNext() != null) { _currentStructureFragment = _currentStructureFragment.getNext(); _structure = _currentStructureFragment.getArray(); } else { _structure = new byte[_structure.length]; _currentStructureFragment = new FragmentedArray(_structure, _currentStructureFragment); } }
protected final void resizeContentObjects() { _contentObjectsPtr = 0; if (_currentContentObjectFragment.getNext() != null) { _currentContentObjectFragment = _currentContentObjectFragment.getNext(); _contentObjects = _currentContentObjectFragment.getArray(); } else { _contentObjects = new Object[_contentObjects.length]; _currentContentObjectFragment = new FragmentedArray(_contentObjects, _currentContentObjectFragment); } } }
protected final void resizeStructureStrings() { _structureStringsPtr = 0; if (_currentStructureStringFragment.getNext() != null) { _currentStructureStringFragment = _currentStructureStringFragment.getNext(); _structureStrings = _currentStructureStringFragment.getArray(); } else { _structureStrings = new String[_structureStrings.length]; _currentStructureStringFragment = new FragmentedArray(_structureStrings, _currentStructureStringFragment); } }
protected final void resizeContentCharacters() { _contentCharactersBufferPtr = 0; if (_currentContentCharactersBufferFragment.getNext() != null) { _currentContentCharactersBufferFragment = _currentContentCharactersBufferFragment.getNext(); _contentCharactersBuffer = _currentContentCharactersBufferFragment.getArray(); } else { _contentCharactersBuffer = new char[_contentCharactersBuffer.length]; _currentContentCharactersBufferFragment = new FragmentedArray(_contentCharactersBuffer, _currentContentCharactersBufferFragment); } }