summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java b/config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java
index 19a045ac444..f996b2624db 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/SchemaInfo.java
@@ -42,13 +42,32 @@ public final class SchemaInfo extends Derived {
private final Map<String, RankProfileInfo> rankProfiles;
private final Summaries summaries;
+ private final IndexMode indexMode;
- public SchemaInfo(Schema schema, RankProfileRegistry rankProfileRegistry, Summaries summaries) {
+ public enum IndexMode {INDEX, STREAMING, STORE_ONLY}
+
+ public SchemaInfo(Schema schema, String indexMode, RankProfileRegistry rankProfileRegistry, Summaries summaries) {
+ this(schema, indexMode(indexMode), rankProfileRegistry, summaries);
+ }
+ public SchemaInfo(Schema schema, IndexMode indexMode, RankProfileRegistry rankProfileRegistry, Summaries summaries) {
this.schema = schema;
this.rankProfiles = Collections.unmodifiableMap(toRankProfiles(rankProfileRegistry.rankProfilesOf(schema)));
this.summaries = summaries;
+ this.indexMode = indexMode;
}
+ private static IndexMode indexMode(String mode) {
+ if (mode == null) return IndexMode.INDEX;
+ return switch (mode) {
+ case "index" -> IndexMode.INDEX;
+ case "streaming" -> IndexMode.STREAMING;
+ case "store-only" -> IndexMode.STORE_ONLY;
+ default -> IndexMode.STORE_ONLY;
+ };
+ }
+
+ public IndexMode getIndexMode() { return indexMode; }
+
public String name() { return schema.getName(); }
@Override