diff options
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.java | 21 |
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 |