Updated Branches:
  refs/heads/0.2-dev 0f78613d6 -> 747caacfd

Working on BLUR-41, the enum that was QUERY_TYPE is now in the 
QueryWritableMapper class. This should make it easier to add new query writable 
types to Blur.


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/747caacf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/747caacf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/747caacf

Branch: refs/heads/0.2-dev
Commit: 747caacfde51b5009b2f96440b37e11b52813409
Parents: 0f78613
Author: Aaron McCurry <[email protected]>
Authored: Sun Feb 10 21:58:32 2013 -0500
Committer: Aaron McCurry <[email protected]>
Committed: Sun Feb 10 21:58:32 2013 -0500

----------------------------------------------------------------------
 .../lucene/serializer/AbtractQueryWritable.java    |   16 ++-
 .../lucene/serializer/BooleanQueryWritable.java    |    5 +
 .../blur/lucene/serializer/FuzzyQueryWritable.java |    5 +
 .../serializer/MatchAllDocsQueryWritable.java      |    8 +-
 .../blur/lucene/serializer/ProtoSerializer.java    |    4 +-
 .../apache/blur/lucene/serializer/QUERY_TYPE.java  |  133 ---------------
 .../blur/lucene/serializer/QueryWritable.java      |   26 ++--
 .../lucene/serializer/QueryWritableMapper.java     |   80 +++++++++
 .../blur/lucene/serializer/TermQueryWritable.java  |    5 +
 .../lucene/serializer/WildcardQueryWritable.java   |   61 +++++++
 10 files changed, 193 insertions(+), 150 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/AbtractQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/AbtractQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/AbtractQueryWritable.java
index 1e59fba..68a62c2 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/AbtractQueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/AbtractQueryWritable.java
@@ -19,10 +19,22 @@ package org.apache.blur.lucene.serializer;
 import org.apache.hadoop.io.Writable;
 import org.apache.lucene.search.Query;
 
-public abstract class AbtractQueryWritable<T extends Query> implements 
Writable {
+public abstract class AbtractQueryWritable<T extends Query> implements 
Writable, Cloneable {
 
-  public abstract Query getQuery();
+  public abstract T getQuery();
 
   public abstract void setQuery(T query);
 
+  public abstract Class<T> getType();
+
+  @SuppressWarnings("unchecked")
+  @Override
+  public AbtractQueryWritable<T> clone() {
+    try {
+      return (AbtractQueryWritable<T>) super.clone();
+    } catch (CloneNotSupportedException e) {
+      throw new RuntimeException(e);
+    }
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/BooleanQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/BooleanQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/BooleanQueryWritable.java
index a7da00b..a21afce 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/BooleanQueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/BooleanQueryWritable.java
@@ -70,4 +70,9 @@ public class BooleanQueryWritable extends 
AbtractQueryWritable<BooleanQuery> {
 
   }
 
+  @Override
+  public Class<BooleanQuery> getType() {
+    return BooleanQuery.class;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/FuzzyQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/FuzzyQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/FuzzyQueryWritable.java
index d285f5b..fe1d920 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/FuzzyQueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/FuzzyQueryWritable.java
@@ -102,4 +102,9 @@ public class FuzzyQueryWritable extends 
AbtractQueryWritable<FuzzyQuery> {
       throw new RuntimeException(e);
     }
   }
+
+  @Override
+  public Class<FuzzyQuery> getType() {
+    return FuzzyQuery.class;
+  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/MatchAllDocsQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/MatchAllDocsQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/MatchAllDocsQueryWritable.java
index 88e988b..8828b00 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/MatchAllDocsQueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/MatchAllDocsQueryWritable.java
@@ -5,7 +5,6 @@ import java.io.DataOutput;
 import java.io.IOException;
 
 import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
 
 public class MatchAllDocsQueryWritable extends 
AbtractQueryWritable<MatchAllDocsQuery> {
 
@@ -24,7 +23,7 @@ public class MatchAllDocsQueryWritable extends 
AbtractQueryWritable<MatchAllDocs
   }
 
   @Override
-  public Query getQuery() {
+  public MatchAllDocsQuery getQuery() {
     return query;
   }
 
@@ -33,4 +32,9 @@ public class MatchAllDocsQueryWritable extends 
AbtractQueryWritable<MatchAllDocs
     this.query = query;
   }
 
+  @Override
+  public Class<MatchAllDocsQuery> getType() {
+    return MatchAllDocsQuery.class;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/ProtoSerializer.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/ProtoSerializer.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/ProtoSerializer.java
index 0aada55..b666b54 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/ProtoSerializer.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/ProtoSerializer.java
@@ -32,7 +32,7 @@ public class ProtoSerializer {
 
     QueryParser parser = new QueryParser(Version.LUCENE_40, "", new 
StandardAnalyzer(Version.LUCENE_40));
 
-    Query query = parser.parse("a:v1 b:v2 c:v3~");
+    Query query = parser.parse("a:v1 b:v2 c:v3~ c:asda*asda");
 
     QueryWritable queryWritable = new QueryWritable(query);
     DataOutputBuffer buffer = new DataOutputBuffer();
@@ -62,7 +62,7 @@ public class ProtoSerializer {
     QueryWritable inQw = new QueryWritable();
 
     long s = System.nanoTime();
-    int count = 1000000;
+    int count = 100000;
     for (int i = 0; i < count; i++) {
       outQw.setQuery(query);
       outQw.write(buffer);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QUERY_TYPE.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QUERY_TYPE.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QUERY_TYPE.java
deleted file mode 100644
index 495261a..0000000
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QUERY_TYPE.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.apache.blur.lucene.serializer;
-
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import org.apache.lucene.queries.BoostingQuery;
-import org.apache.lucene.queries.CustomScoreQuery;
-import org.apache.lucene.queries.mlt.MoreLikeThisQuery;
-import org.apache.lucene.sandbox.queries.FuzzyLikeThisQuery;
-import org.apache.lucene.search.AutomatonQuery;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.DisjunctionMaxQuery;
-import org.apache.lucene.search.FilteredQuery;
-import org.apache.lucene.search.FuzzyQuery;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.MultiPhraseQuery;
-import org.apache.lucene.search.NGramPhraseQuery;
-import org.apache.lucene.search.NumericRangeQuery;
-import org.apache.lucene.search.PhraseQuery;
-import org.apache.lucene.search.PrefixQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.RegexpQuery;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.WildcardQuery;
-
-public enum QUERY_TYPE {
-  BOOLEAN((byte) 0), TERM((byte) 1), FUZZY((byte) 2), MATCH_ALL_DOCS((byte) 3);
-
-  private final byte type;
-
-  private QUERY_TYPE(byte type) {
-    this.type = type;
-  }
-
-  public byte getType() {
-    return type;
-  }
-
-  public static QUERY_TYPE lookup(byte type) {
-    switch (type) {
-    case 0:
-      return BOOLEAN;
-    case 1:
-      return TERM;
-    case 2:
-      return FUZZY;
-    case 3:
-      return MATCH_ALL_DOCS;
-    default:
-      throw new RuntimeException("Type [" + type + "] is not supported");
-    }
-  }
-
-  public static QUERY_TYPE lookup(Query query) {
-    if (query instanceof BooleanQuery) {
-      return BOOLEAN;
-    } else if (query instanceof TermQuery) {
-      return TERM;
-    } else if (query instanceof FuzzyQuery) {
-      return FUZZY;
-    } else if (query instanceof BoostingQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof ConstantScoreQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof CustomScoreQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof DisjunctionMaxQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof FilteredQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof FuzzyLikeThisQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof MatchAllDocsQuery) {
-      return MATCH_ALL_DOCS;
-    } else if (query instanceof MoreLikeThisQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof MultiPhraseQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof AutomatonQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof RegexpQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof WildcardQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof FuzzyQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof NumericRangeQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof PrefixQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof RegexpQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof TermRangeQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof PhraseQuery) {
-      throw new RuntimeException("no impl");
-    } else if (query instanceof NGramPhraseQuery) {
-      throw new RuntimeException("no impl");
-    } else {
-      throw new RuntimeException("Query" + query + "] is not supported");
-    }
-  }
-
-  public static AbtractQueryWritable<?> lookupQueryWritable(QUERY_TYPE type) {
-    switch (type) {
-    case BOOLEAN:
-      return new BooleanQueryWritable();
-    case TERM:
-      return new TermQueryWritable();
-    case FUZZY:
-      return new FuzzyQueryWritable();
-    case MATCH_ALL_DOCS:
-      return new MatchAllDocsQueryWritable();
-    default:
-      throw new RuntimeException("Type [" + type + "] is not supported");
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritable.java
index 2a1fa93..9e9c227 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritable.java
@@ -25,7 +25,7 @@ import org.apache.lucene.search.Query;
 public class QueryWritable extends AbtractQueryWritable<Query> {
 
   private Query query;
-  private QUERY_TYPE lookup;
+  private QueryWritableMapper lookup;
 
   public QueryWritable() {
 
@@ -33,7 +33,7 @@ public class QueryWritable extends 
AbtractQueryWritable<Query> {
 
   public QueryWritable(Query query) {
     this.query = query;
-    this.lookup = QUERY_TYPE.lookup(query);
+    this.lookup = QueryWritableMapper.lookup(query);
   }
 
   public Query getQuery() {
@@ -42,29 +42,33 @@ public class QueryWritable extends 
AbtractQueryWritable<Query> {
 
   public void setQuery(Query query) {
     this.query = query;
-    this.lookup = QUERY_TYPE.lookup(query);
+    this.lookup = QueryWritableMapper.lookup(query);
   }
 
-  public QUERY_TYPE getLookup() {
+  public QueryWritableMapper getLookup() {
     return lookup;
   }
 
-  @SuppressWarnings("unchecked")
   @Override
   public void write(DataOutput out) throws IOException {
-    out.write(lookup.getType());
-    AbtractQueryWritable<Query> writable = (AbtractQueryWritable<Query>) 
QUERY_TYPE.lookupQueryWritable(lookup);
+    out.writeInt(lookup.getType());
+    AbtractQueryWritable<Query> writable = 
QueryWritableMapper.getNewQueryWritable(lookup, Query.class);
     writable.setQuery(query);
     writable.write(out);
   }
 
-  @SuppressWarnings("unchecked")
   @Override
   public void readFields(DataInput in) throws IOException {
-    byte b = in.readByte();
-    lookup = QUERY_TYPE.lookup(b);
-    AbtractQueryWritable<Query> writable = (AbtractQueryWritable<Query>) 
QUERY_TYPE.lookupQueryWritable(lookup);
+    int t = in.readInt();
+    lookup = QueryWritableMapper.lookup(t);
+    AbtractQueryWritable<Query> writable = 
QueryWritableMapper.getNewQueryWritable(lookup, Query.class);
     writable.readFields(in);
     query = writable.getQuery();
   }
+
+  @Override
+  public Class<Query> getType() {
+    return Query.class;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritableMapper.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritableMapper.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritableMapper.java
new file mode 100644
index 0000000..4e10a70
--- /dev/null
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/QueryWritableMapper.java
@@ -0,0 +1,80 @@
+package org.apache.blur.lucene.serializer;
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.lucene.search.Query;
+
+public class QueryWritableMapper {
+
+  private static Map<Class<? extends Query>, QueryWritableMapper> queryToType 
= new ConcurrentHashMap<Class<? extends Query>, QueryWritableMapper>();
+  private static Map<Integer, QueryWritableMapper> idsToWritable = new 
ConcurrentHashMap<Integer, QueryWritableMapper>();
+
+  static {
+    register(0, new BooleanQueryWritable());
+    register(1, new TermQueryWritable());
+    register(2, new FuzzyQueryWritable());
+    register(3, new MatchAllDocsQueryWritable());
+    register(4, new WildcardQueryWritable());
+  }
+
+  private static synchronized void register(int id, AbtractQueryWritable<? 
extends Query> queryWritable) {
+    QueryWritableMapper qt = new QueryWritableMapper(id, queryWritable);
+    idsToWritable.put(id, qt);
+    queryToType.put(queryWritable.getType(), qt);
+  }
+
+  private final int id;
+  private final AbtractQueryWritable<? extends Query> queryWritable;
+
+  private QueryWritableMapper(int id, AbtractQueryWritable<? extends Query> 
queryWritable) {
+    this.id = id;
+    this.queryWritable = queryWritable;
+  }
+
+  public int getType() {
+    return id;
+  }
+
+  public AbtractQueryWritable<?> instance() {
+    return queryWritable.clone();
+  }
+
+  public static QueryWritableMapper lookup(int id) {
+    QueryWritableMapper type = idsToWritable.get(id);
+    if (type == null) {
+      throw new RuntimeException("Type [" + id + "] not found");
+    }
+    return type;
+  }
+
+  public static QueryWritableMapper lookup(Query query) {
+    QueryWritableMapper type = queryToType.get(query.getClass());
+    if (type == null) {
+      throw new RuntimeException("Type [" + query.getClass() + "] for query [" 
+ query + "] not found");
+    }
+    return type;
+  }
+
+  @SuppressWarnings("unchecked")
+  public static <R extends Query> AbtractQueryWritable<R> 
getNewQueryWritable(QueryWritableMapper lookup, Class<R> clazz) {
+    QueryWritableMapper type = lookup(lookup.getType());
+    return (AbtractQueryWritable<R>) type.instance();
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/TermQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/TermQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/TermQueryWritable.java
index 4173ac2..069eee7 100644
--- 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/TermQueryWritable.java
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/TermQueryWritable.java
@@ -59,4 +59,9 @@ public class TermQueryWritable extends 
AbtractQueryWritable<TermQuery> {
     query.setBoost(boost);
   }
 
+  @Override
+  public Class<TermQuery> getType() {
+    return TermQuery.class;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/747caacf/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/WildcardQueryWritable.java
----------------------------------------------------------------------
diff --git 
a/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/WildcardQueryWritable.java
 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/WildcardQueryWritable.java
new file mode 100644
index 0000000..04028ed
--- /dev/null
+++ 
b/src/blur-query/src/main/java/org/apache/blur/lucene/serializer/WildcardQueryWritable.java
@@ -0,0 +1,61 @@
+package org.apache.blur.lucene.serializer;
+
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.lucene.index.Term;
+import org.apache.lucene.search.WildcardQuery;
+
+public class WildcardQueryWritable extends AbtractQueryWritable<WildcardQuery> 
{
+
+  private WildcardQuery query;
+
+  @Override
+  public void write(DataOutput out) throws IOException {
+    out.writeFloat(query.getBoost());
+    Term term = query.getTerm();
+    new TermWritable(term).write(out);
+  }
+
+  @Override
+  public void readFields(DataInput in) throws IOException {
+    float boost = in.readFloat();
+    TermWritable termWritable = new TermWritable();
+    termWritable.readFields(in);
+    query = new WildcardQuery(termWritable.getTerm());
+    query.setBoost(boost);
+  }
+
+  @Override
+  public WildcardQuery getQuery() {
+    return query;
+  }
+
+  @Override
+  public void setQuery(WildcardQuery query) {
+    this.query = query;
+  }
+
+  @Override
+  public Class<WildcardQuery> getType() {
+    return WildcardQuery.class;
+  }
+
+}

Reply via email to