summaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java
new file mode 100644
index 00000000000..6e730ba8410
--- /dev/null
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/AppSubDirs.java
@@ -0,0 +1,72 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model.application.provider;
+
+import com.yahoo.collections.Tuple2;
+import com.yahoo.config.application.api.ApplicationPackage;
+
+import java.io.File;
+
+/**
+ * Definitions of sub-directories of an application package.
+ *
+ * @author <a href="mailto:musum@yahoo-inc.com">Harald Musum</a>
+ */
+public class AppSubDirs {
+
+ final Tuple2<File, String> root;
+ final Tuple2<File, String> templates;
+ public final Tuple2<File, String> rules;
+ final Tuple2<File, String> searchchains;
+ final Tuple2<File, String> docprocchains;
+ final Tuple2<File, String> routingtables;
+ final Tuple2<File, String> configDefs;
+ final Tuple2<File, String> searchdefinitions;
+
+ public AppSubDirs(File root) {
+ this.root = new Tuple2<>(root, root.getName());
+ templates = createTuple(ApplicationPackage.TEMPLATES_DIR);
+ rules = createTuple(ApplicationPackage.RULES_DIR.getRelative());
+ searchchains = createTuple(ApplicationPackage.SEARCHCHAINS_DIR);
+ docprocchains = createTuple(ApplicationPackage.DOCPROCCHAINS_DIR);
+ routingtables = createTuple(ApplicationPackage.ROUTINGTABLES_DIR);
+ configDefs = createTuple(ApplicationPackage.CONFIG_DEFINITIONS_DIR);
+ searchdefinitions = createTuple(ApplicationPackage.SEARCH_DEFINITIONS_DIR.getRelative());
+ }
+
+ private Tuple2<File, String> createTuple(String name) {
+ return new Tuple2<>(file(name), name);
+ }
+
+ public File file(String subPath) {
+ return new File(root.first, subPath);
+ }
+
+ public File root() {
+ return root.first;
+ }
+
+ public File templates() {
+ return templates.first;
+ }
+
+ public File rules() {
+ return rules.first;
+ }
+
+ public File searchchains() {
+ return searchchains.first;
+ }
+
+ public File docprocchains() {
+ return docprocchains.first;
+ }
+
+ public File configDefs() {
+ return configDefs.first;
+ }
+
+ public File searchdefinitions() {
+ return searchdefinitions.first;
+ }
+
+}