@Override @SuppressWarnings("unchecked") public QueryRequest readObject(ObjectInput input) throws IOException, ClassNotFoundException { QueryRequest queryRequest = new QueryRequest(); queryRequest.setQueryString(input.readUTF()); long startOffset = input.readLong(); queryRequest.setStartOffset(startOffset != -1 ? startOffset : null); int maxResults = input.readInt(); queryRequest.setMaxResults(maxResults != -1 ? maxResults : null); queryRequest.setNamedParameters((List<QueryRequest.NamedParameter>) input.readObject()); return queryRequest; } }
@Override public void writeObject(ObjectOutput output, QueryRequest queryRequest) throws IOException { output.writeUTF(queryRequest.getQueryString()); output.writeLong(queryRequest.getStartOffset() != null ? queryRequest.getStartOffset() : -1); output.writeInt(queryRequest.getMaxResults() != null ? queryRequest.getMaxResults() : -1); output.writeObject(queryRequest.getNamedParameters()); }
@Override public QueryRequest readFrom(ProtoStreamReader reader) throws IOException { QueryRequest queryRequest = new QueryRequest(); queryRequest.setQueryString(reader.readString("queryString")); queryRequest.setStartOffset(reader.readLong("startOffset")); queryRequest.setMaxResults(reader.readInt("maxResults")); queryRequest.setNamedParameters(reader.readCollection("namedParameters", new ArrayList<>(), NamedParameter.class)); queryRequest.setIndexedQueryMode(reader.readString("indexedQueryMode")); return queryRequest; }
@Override public void writeTo(ProtoStreamWriter writer, QueryRequest queryRequest) throws IOException { writer.writeString("queryString", queryRequest.getQueryString()); writer.writeLong("startOffset", queryRequest.getStartOffset()); writer.writeInt("maxResults", queryRequest.getMaxResults()); writer.writeCollection("namedParameters", queryRequest.getNamedParameters(), NamedParameter.class); writer.writeString("indexedQueryMode", queryRequest.getIndexedQueryMode()); }