diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/parser/ParsedFieldSet.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/parser/ParsedFieldSet.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/parser/ParsedFieldSet.java b/config-model/src/main/java/com/yahoo/schema/parser/ParsedFieldSet.java new file mode 100644 index 00000000000..9e8906a41a4 --- /dev/null +++ b/config-model/src/main/java/com/yahoo/schema/parser/ParsedFieldSet.java @@ -0,0 +1,36 @@ +package com.yahoo.schema.parser; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * This class holds the extracted information after parsing a "fieldset" + * block, using simple data structures as far as possible. Do not put + * advanced logic here! + * @author arnej27959 + **/ +class ParsedFieldSet extends ParsedBlock { + + private final List<String> fields = new ArrayList<>(); + private final List<String> queryCommands = new ArrayList<>(); + private ParsedMatchSettings matchInfo = null; + + ParsedFieldSet(String name) { + super(name, "fieldset"); + } + + ParsedMatchSettings matchSettings() { + if (matchInfo == null) matchInfo = new ParsedMatchSettings(); + return this.matchInfo; + } + + List<String> getQueryCommands() { return List.copyOf(queryCommands); } + List<String> getFieldNames() { return List.copyOf(fields); } + Optional<ParsedMatchSettings> getMatchSettings() { + return Optional.ofNullable(this.matchInfo); + } + + void addField(String field) { fields.add(field); } + void addQueryCommand(String command) { queryCommands.add(command); } +} |