protected void primReset() { // fNodes = null; // fRegions = null; // fInput = null; fStringInput = null; fCharSequenceSource = null; fDocumentInput = null; fOffset = 0; // fCurrentNode = null; // DMW: also reset tokenizer so it doesn't hold on // to large arrays getTokenizer().reset(new char[0]); }
public void addBlockMarker(BlockMarker marker) { getTokenizer().addBlockMarker(marker); }
public void beginBlockScan(String newTagName) { getTokenizer().beginBlockTagScan(newTagName); }
public void removeBlockMarker(String tagName) { getTokenizer().removeBlockMarker(tagName); }
public List getBlockMarkers() { return getTokenizer().getBlockMarkers(); }
public void removeBlockMarker(BlockMarker marker) { getTokenizer().removeBlockMarker(marker); }
protected ITextRegion getNextRegion() { ITextRegion region = null; try { region = getTokenizer().getNextToken(); // DMW: 2/12/03 Removed state // if (region != null) { // fRegions.add(region); // } return region; } catch (StackOverflowError e) { Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset(), e); //$NON-NLS-1$ throw e; } catch (Exception e) { Logger.logException(getClass().getName() + ": input could not be parsed correctly at position " + getTokenizer().getOffset() + " (" + e.getLocalizedMessage() + ")", e); //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$ } return null; }
/** * Resets the input. */ public void reset(java.io.FileInputStream instream) { primReset(); // fInput = instream; getTokenizer().reset(instream); }
public BlockMarker getBlockMarker(String tagName) { List markers = getTokenizer().getBlockMarkers(); for (int i = 0; i < markers.size(); i++) { BlockMarker marker = (BlockMarker) markers.get(i); if (marker.isCaseSensitive()) { if (marker.getTagName().equals(tagName)) return marker; } else { if (marker.getTagName().equalsIgnoreCase(tagName)) return marker; } } return null; }
public RegionParser newInstance() { XMLSourceParser newInstance = new XMLSourceParser(); newInstance.setTokenizer(getTokenizer().newInstance()); return newInstance; }
/** * Return the full list of known regions. Typically getNodes should be * used instead of this method. */ public List getRegions() { IStructuredDocumentRegion headNode = null; if (!getTokenizer().isEOF()) { headNode = getDocumentRegions(); // throw new IllegalStateException("parsing has not finished"); } // for memory recovery, we assume if someone // requests all regions, we can reset our big // memory consuming objects // but the new "getRegions" method is then more expensive. // I don't think its used much, though. List localRegionsList = getRegions(headNode); primReset(); return localRegionsList; }
/** * Resets the input. */ public void reset(java.io.Reader reader, int position) { primReset(); fOffset = position; getTokenizer().reset(reader, position); if (reader instanceof DocumentReader) { IDocument doc = ((DocumentReader) reader).getDocument(); if (doc instanceof CharSequence) { fCharSequenceSource = (CharSequence) doc; } else { // old fashioned IDocument fDocumentInput = ((DocumentReader) reader).getDocument(); } } else if (reader instanceof CharSequenceReader) { fCharSequenceSource = ((CharSequenceReader) reader).getOriginalSource(); } }