aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java b/config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java
new file mode 100644
index 00000000000..b2f40b045ea
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/schema/FieldOperationApplier.java
@@ -0,0 +1,32 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.schema;
+
+import com.yahoo.document.Field;
+import com.yahoo.schema.document.SDDocumentType;
+import com.yahoo.schema.document.SDField;
+
+/**
+ * @author Einar M R Rosenvinge
+ */
+public class FieldOperationApplier {
+
+ public void process(SDDocumentType sdoc) {
+ if (!sdoc.isStruct()) {
+ apply(sdoc);
+ }
+ }
+
+ protected void apply(SDDocumentType type) {
+ for (Field field : type.fieldSet()) {
+ apply(field);
+ }
+ }
+
+ protected void apply(Field field) {
+ if (field instanceof SDField) {
+ SDField sdField = (SDField) field;
+ sdField.applyOperations();
+ }
+ }
+
+}