aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-05-19 12:03:06 +0200
committerJon Bratseth <bratseth@gmail.com>2022-05-19 12:03:06 +0200
commit5c24dc5c9642a8d9ed70aee4c950fd0678a1ebec (patch)
treebd9b74bf00c832456f0b83c1b2cd7010be387d68 /config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java
parentf17c4fe7de4c55f5c4ee61897eab8c2f588d8405 (diff)
Rename the 'searchdefinition' package to 'schema'
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java60
1 files changed, 0 insertions, 60 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java
deleted file mode 100644
index 376fd592c9d..00000000000
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedStruct.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.searchdefinition.parser;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This class holds the extracted information after parsing a "struct"
- * block, using simple data structures as far as possible. Do not put
- * advanced logic here!
- * @author arnej27959
- **/
-public class ParsedStruct extends ParsedBlock {
- private final List<String> inherited = new ArrayList<>();
- private final List<ParsedStruct> resolvedInherits = new ArrayList<>();
- private final Map<String, ParsedField> fields = new LinkedHashMap<>();
- private final ParsedType asParsedType;
- private ParsedDocument ownedBy = null;
-
- public ParsedStruct(String name) {
- super(name, "struct");
- this.asParsedType = ParsedType.fromName(name);
- asParsedType.setVariant(ParsedType.Variant.STRUCT);
- }
-
- List<ParsedField> getFields() { return List.copyOf(fields.values()); }
- List<String> getInherited() { return List.copyOf(inherited); }
- ParsedDocument getOwnerDoc() { return ownedBy; }
- String getOwnerName() { return ownedBy.name(); }
- List<ParsedStruct> getResolvedInherits() {
- assert(inherited.size() == resolvedInherits.size());
- return List.copyOf(resolvedInherits);
- }
-
- void addField(ParsedField field) {
- String fieldName = field.name();
- verifyThat(! fields.containsKey(fieldName), "already has field", fieldName);
- fields.put(fieldName, field);
- }
-
- void inherit(String other) {
- verifyThat(! name().equals(other), "cannot inherit from itself");
- inherited.add(other);
- }
-
- void tagOwner(ParsedDocument document) {
- verifyThat(ownedBy == null, "already owned by document "+ownedBy);
- this.ownedBy = document;
- }
-
- void resolveInherit(String name, ParsedStruct parsed) {
- verifyThat(inherited.contains(name), "resolveInherit for non-inherited name", name);
- verifyThat(name.equals(parsed.name()), "resolveInherit name mismatch for", name);
- resolvedInherits.add(parsed);
- }
-
-}
-