package org.apache.lucene.analysis.tokenattributes; import org.apache.lucene.util.AttributeImpl; import org.apache.lucene.util.CharsRef; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CharsRefTermAttributeImpl extends AttributeImpl implements CharsRefTermAttribute, Cloneable { private static Logger logger = LoggerFactory.getLogger(CharsRefTermAttributeImpl.class); private CharsRef charsRef = null; @Override public void setBuffer(char[] buffer, int offset, int length) { charsRef = new CharsRef(buffer, offset, length); } @Override public void setOffset(int offset, int length) { charsRef.offset = offset; charsRef.length = length; } @Override public CharsRef charsRef() { return charsRef; } @Override public String toString(){ // logger.debug("off={}, len={}", charsRef.offset, charsRef.length); try{ return charsRef.toString(); }catch(StringIndexOutOfBoundsException e){ logger.debug("{} charsRef={}, off={}, len={}", charsRef.chars, charsRef.offset, charsRef.length); throw e; } } @Override public void clear() { // TODO Auto-generated method stub } @Override public void copyTo(AttributeImpl target) { // TODO Auto-generated method stub } }