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.hibernate.search.annotations.NumericField; import org.infinispan.protostream.MessageMarshaller; /** * Object storing multiple numbers (used for multi-index query) * * @author Radim Vansa <rvansa@redhat.com> */ @Indexed public class ManyIntegersObject implements Serializable { @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int0; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int1; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int2; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int3; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int4; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int5; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int6; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int7; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int8; @NumericField @Field(index = Index.YES, analyze = Analyze.NO) private int int9; public ManyIntegersObject(int int0, int int1, int int2, int int3, int int4, int int5, int int6, int int7, int int8, int int9) { this.int0 = int0; this.int1 = int1; this.int2 = int2; this.int3 = int3; this.int4 = int4; this.int5 = int5; this.int6 = int6; this.int7 = int7; this.int8 = int8; this.int9 = int9; } @Override public String toString() { final StringBuilder sb = new StringBuilder("ManyIntegersObject{"); sb.append("int0=").append(int0); sb.append(", int1=").append(int1); sb.append(", int2=").append(int2); sb.append(", int3=").append(int3); sb.append(", int4=").append(int4); sb.append(", int5=").append(int5); sb.append(", int6=").append(int6); sb.append(", int7=").append(int7); sb.append(", int8=").append(int8); sb.append(", int9=").append(int9); sb.append('}'); return sb.toString(); } public static class Marshaller implements MessageMarshaller<ManyIntegersObject> { protected static final String NAME = ManyIntegersObject.class.getName(); @Override public ManyIntegersObject readFrom(ProtoStreamReader reader) throws IOException { return new ManyIntegersObject( reader.readInt("int0"), reader.readInt("int1"), reader.readInt("int2"), reader.readInt("int3"), reader.readInt("int4"), reader.readInt("int5"), reader.readInt("int6"), reader.readInt("int7"), reader.readInt("int8"), reader.readInt("int9")); } @Override public void writeTo(ProtoStreamWriter writer, ManyIntegersObject numberObject) throws IOException { writer.writeInt("int0", numberObject.int0); writer.writeInt("int1", numberObject.int1); writer.writeInt("int2", numberObject.int2); writer.writeInt("int3", numberObject.int3); writer.writeInt("int4", numberObject.int4); writer.writeInt("int5", numberObject.int5); writer.writeInt("int6", numberObject.int6); writer.writeInt("int7", numberObject.int7); writer.writeInt("int8", numberObject.int8); writer.writeInt("int9", numberObject.int9); } @Override public Class<? extends ManyIntegersObject> getJavaClass() { return ManyIntegersObject.class; } @Override public String getTypeName() { return NAME; } } }