diff options
Diffstat (limited to 'pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java')
-rw-r--r-- | pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java index 9969fdf0..2b5c5b6f 100644 --- a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/settings/Profiles.java @@ -1,20 +1,23 @@ package at.gv.egiz.pdfas.common.settings; -import java.util.Map; -import java.util.Properties; +import java.util.*; public class Profiles { private String name; private Profiles parent; + private List<Profiles> augments; private boolean initialized; private static final String PARENT_CONFIG = ".parent"; + + private static final String AUGMENTS_CONFIG = ".augments"; public Profiles(String name) { this.name = name; this.initialized = false; this.parent = null; + this.augments = new ArrayList<Profiles>(); } public String getName() { @@ -26,12 +29,27 @@ public class Profiles { if(parentString != null) { this.parent = profiles.get(parentString); } + + String augmentKeyPrefix = "sig_obj." + this.name + AUGMENTS_CONFIG; + + Enumeration enumeration = props.propertyNames(); + while(enumeration.hasMoreElements()) { + String key = (String)enumeration.nextElement(); + if(key.startsWith(augmentKeyPrefix)) { + String augmentProfile = props.getProperty(key); + this.augments.add(profiles.get(augmentProfile)); + } + } } public Profiles getParent() { return this.parent; } + public List<Profiles> getAugments() { + return this.augments; + } + public boolean isInitialized() { return initialized; } |