package org.radargun.query;
import java.io.IOException;
import java.io.Serializable;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.infinispan.protostream.MessageMarshaller;
/**
* Simple object containing one string. See {@link org.radargun.stages.cache.generators.TextObjectGenerator}
*
* @author Radim Vansa <rvansa@redhat.com>
*/
@Indexed
public class TextObject implements Serializable {
@Field(index = Index.YES, analyze = Analyze.NO)
private String text;
public TextObject(String text) {
this.text = text;
}
public String getText() {
return text;
}
@Override
public String toString() {
return "TextObject{" + text + '}';
}
public static class Marshaller implements MessageMarshaller<TextObject> {
protected static final String NAME = TextObject.class.getName();
@Override
public TextObject readFrom(ProtoStreamReader reader) throws IOException {
return new TextObject(reader.readString("text"));
}
@Override
public void writeTo(ProtoStreamWriter writer, TextObject textObject) throws IOException {
writer.writeString("text", textObject.text);
}
@Override
public Class<? extends TextObject> getJavaClass() {
return TextObject.class;
}
@Override
public String getTypeName() {
return NAME;
}
}
}