summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java b/container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java
new file mode 100644
index 00000000000..8361cb722e9
--- /dev/null
+++ b/container-search/src/main/java/com/yahoo/prelude/hitfield/AnnotateStringFieldPart.java
@@ -0,0 +1,45 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.prelude.hitfield;
+
+/** TODO: Class header! */
+public class AnnotateStringFieldPart implements FieldPart {
+
+ public static final char RAW_ANNOTATE_BEGIN_CHAR = '\uFFF9';
+ public static final char RAW_ANNOTATE_SEPARATOR_CHAR = '\uFFFA';
+ public static final char RAW_ANNOTATE_END_CHAR = '\uFFFB';
+
+ private String content;
+ private String rawContent;
+
+ public AnnotateStringFieldPart(String source, int index) {
+ content = "";
+ rawContent = "";
+ if (source.charAt(index) == RAW_ANNOTATE_BEGIN_CHAR) {
+ int sep = source.indexOf(RAW_ANNOTATE_SEPARATOR_CHAR, index);
+ int end = source.indexOf(RAW_ANNOTATE_END_CHAR, index);
+
+ if (sep != -1) {
+ rawContent = source.substring(index + 1, sep);
+ if (end != -1 && end > sep) {
+ content = source.substring(sep + 1, end);
+ }
+ else {
+ content = rawContent;
+ }
+ }
+ }
+ }
+
+ public boolean isFinal() { return false; }
+
+ public boolean isToken() { return true; }
+
+ public String getContent() { return rawContent; }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String toString() { return content; }
+
+}