private int increment(int sp){ int type = vn.getTokenType(sp); int vtdSize = vn.vtdBuffer.size; int i=sp+1; while(i<vtdSize && depth == vn.getTokenDepth(i) && type == vn.getTokenType(i)&& (vn.getTokenOffset(i-1)+ (int)((vn.vtdBuffer.longAt(i-1) & VTDNav.MASK_TOKEN_FULL_LEN)>>32) == vn.getTokenOffset(i)) ){ i++; } return i; }
private int increment(int sp){ int type = vn.getTokenType(sp); int vtdSize = vn.vtdBuffer.size; int i=sp+1; while(i<vtdSize && depth == vn.getTokenDepth(i) && type == vn.getTokenType(i)&& (vn.getTokenOffset(i-1)+ (int)((vn.vtdBuffer.longAt(i-1) & VTDNav.MASK_TOKEN_FULL_LEN)>>32) == vn.getTokenOffset(i)) ){ i++; } return i; }
private int increment(int sp){ int type = vn.getTokenType(sp); int vtdSize = vn.vtdBuffer.size; int i=sp+1; while(i<vtdSize && depth == vn.getTokenDepth(i) && type == vn.getTokenType(i)&& (vn.getTokenOffset(i-1)+ (int)((vn.vtdBuffer.longAt(i-1) & VTDNav.MASK_TOKEN_FULL_LEN)>>32) == vn.getTokenOffset(i)) ){ i++; } return i; }
/** * Remove an attribute name value pair from the master document. * @param attrNameIndex * */ public void removeAttribute(int attrNameIndex) throws ModifyException{ int type = md.getTokenType(attrNameIndex); if (type != VTDNav.TOKEN_ATTR_NAME&& type != VTDNav.TOKEN_ATTR_NS) throw new ModifyException("token type should be attribute name"); int os1 = md.getTokenOffset(attrNameIndex); int os2 = md.getTokenOffset(attrNameIndex+1); int len2 = md.getTokenLength(attrNameIndex+1); if (encoding < VTDNav.FORMAT_UTF_16BE) removeContent(os1,os2+len2-os1+1); else removeContent(os1<<1,(os2+len2-os1+1)<<1); }
/** * Remove an attribute name value pair from the master document. * @param attrNameIndex * */ public void removeAttribute(int attrNameIndex) throws ModifyException{ int type = md.getTokenType(attrNameIndex); if (type != VTDNav.TOKEN_ATTR_NAME&& type != VTDNav.TOKEN_ATTR_NS) throw new ModifyException("token type should be attribute name"); int os1 = md.getTokenOffset(attrNameIndex); int os2 = md.getTokenOffset(attrNameIndex+1); int len2 = md.getTokenLength(attrNameIndex+1); if (encoding < VTDNav.FORMAT_UTF_16BE) removeContent(os1,os2+len2-os1+1); else removeContent(os1<<1,(os2+len2-os1+1)<<1); }
/** * Add InlineObject for a punctuation text node. * * @param inlineObjects list to add the punct object to * @param text * @throws NavException */ private void collectPunct(List<InlineObject> inlineObjects, String text) throws NavException { int i = nav.getCurrentIndex(); int offset = nav.getTokenOffset(i); // int length = nav.getTokenLength(i); // Make sure we only keep 1 copy of identical punct texts in memory text = dedupe(StringUtil.normalizeWhitespace(text)); // Add the punct to the list inlineObjects.add(new InlineObject(text, offset, InlineObjectType.PUNCTUATION, null)); }
final protected void toRawString(StringBuilder sb, int index) throws NavException { int type = getTokenType(index); int len; if (type == TOKEN_STARTING_TAG || type == TOKEN_ATTR_NAME || type == TOKEN_ATTR_NS) len = getTokenLength2(index) & 0xffff; else len = getTokenLength2(index); int offset = getTokenOffset(index); toRawString(offset, len,sb); } /**
final protected void toRawString(StringBuilder sb, int index) throws NavException { int type = getTokenType(index); int len; if (type == TOKEN_STARTING_TAG || type == TOKEN_ATTR_NAME || type == TOKEN_ATTR_NS) len = getTokenLength2(index) & 0xffff; else len = getTokenLength2(index); int offset = getTokenOffset(index); toRawString(offset, len,sb); } /**
final protected void toString(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toString(offset, len, sb); else toRawString(offset, len, sb); }
final protected void toString(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toString(offset, len, sb); else toRawString(offset, len, sb); }
final protected void toStringLowerCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index); */ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringLowerCase(offset, len, sb); else toRawStringLowerCase(offset, len, sb); }
final protected void toStringUpperCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringUpperCase(offset, len, sb); else toRawStringUpperCase(offset, len, sb); }
final protected void toStringUpperCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringUpperCase(offset, len, sb); else toRawStringUpperCase(offset, len, sb); }
final protected void toStringLowerCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index); */ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringLowerCase(offset, len, sb); else toRawStringLowerCase(offset, len, sb); }
final protected void toStringUpperCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringUpperCase(offset, len, sb); else toRawStringUpperCase(offset, len, sb); }
final protected void toStringLowerCase(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index); */ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toStringLowerCase(offset, len, sb); else toRawStringLowerCase(offset, len, sb); }
final protected void toString(StringBuilder sb, int index) throws NavException { /*int type = getTokenType(index); if (type!=TOKEN_CHARACTER_DATA && type!= TOKEN_ATTR_VAL) toRawString(sb, index);*/ int len,type; len = getTokenLength2(index); type= getTokenType(index); int offset = getTokenOffset(index); if (type!=VTDNav.TOKEN_CDATA_VAL) toString(offset, len, sb); else toRawString(offset, len, sb); }
/** * * @param l * @throws ModifyException */ private void insertEndingTag(long l) throws ModifyException{ int i = md.getCurrentIndex(); int offset = md.getTokenOffset(i); int length = md.getTokenLength(i)&0xffff; byte[] xml = md.getXML().getBytes(); if (md.encoding <VTDNav.FORMAT_UTF_16BE ) insertBytesAt((int)l,xml,offset,length); else insertBytesAt((int)l, xml, offset<<1, length<<1); }
/** * * @param l * @throws ModifyException */ private void insertEndingTag(long l) throws ModifyException{ int i = md.getCurrentIndex(); int offset = md.getTokenOffset(i); int length = md.getTokenLength(i)&0xffff; byte[] xml = md.getXML().getBytes(); if (md.encoding <VTDNav.FORMAT_UTF_16BE ) insertBytesAt((int)l,xml,offset,length); else insertBytesAt((int)l, xml, offset<<1, length<<1); }
/** * * @param l * @throws ModifyException */ private void insertEndingTag(long l) throws ModifyException{ int i = md.getCurrentIndex(); int offset = md.getTokenOffset(i); int length = md.getTokenLength(i)&0xffff; byte[] xml = md.getXML().getBytes(); if (md.encoding <VTDNav.FORMAT_UTF_16BE ) insertBytesAt((int)l,xml,offset,length); else insertBytesAt((int)l, xml, offset<<1, length<<1); }