diff --git a/li.strolch.model/src/main/java/li/strolch/model/Order.java b/li.strolch.model/src/main/java/li/strolch/model/Order.java index 96061bd7a..83f4ff633 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/Order.java +++ b/li.strolch.model/src/main/java/li/strolch/model/Order.java @@ -20,6 +20,7 @@ import java.util.Date; import li.strolch.exception.StrolchPolicyException; import li.strolch.model.Locator.LocatorBuilder; +import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDefs; import li.strolch.model.visitor.StrolchRootElementVisitor; import li.strolch.utils.iso8601.ISO8601FormatFactory; @@ -123,11 +124,21 @@ public class Order extends AbstractStrolchRootElement implements StrolchRootElem return this.policyDefs; } + @Override + public PolicyDef getPolicyDef(String type) { + return getPolicyDefs().getPolicyDef(type); + } + @Override public boolean hasPolicyDefs() { return this.policyDefs != null; } + @Override + public boolean hasPolicyDef(String type) { + return this.policyDefs != null && policyDefs.hasPolicyDef(type); + } + @Override public void setPolicyDefs(PolicyDefs policyDefs) { this.policyDefs = policyDefs; diff --git a/li.strolch.model/src/main/java/li/strolch/model/PolicyContainer.java b/li.strolch.model/src/main/java/li/strolch/model/PolicyContainer.java index dbdfa4bae..e70ffa822 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/PolicyContainer.java +++ b/li.strolch.model/src/main/java/li/strolch/model/PolicyContainer.java @@ -1,6 +1,7 @@ package li.strolch.model; import li.strolch.exception.StrolchPolicyException; +import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDefs; /** @@ -26,6 +27,26 @@ public interface PolicyContainer { */ public boolean hasPolicyDefs(); + /** + * Returns true if this container has the {@link PolicyDef} with the given type, false if not + * + * @param type + * the type of policy def to return + * + * @return true if this container has the {@link PolicyDef} with the given type, false if not + */ + public boolean hasPolicyDef(String type); + + /** + * Returns the {@link PolicyDef} for the given type + * + * @param type + * the type of policy def to return + * + * @return the policy def of the given type + */ + public PolicyDef getPolicyDef(String type); + /** * Set the reference to the {@link PolicyDefs} * diff --git a/li.strolch.model/src/main/java/li/strolch/model/Resource.java b/li.strolch.model/src/main/java/li/strolch/model/Resource.java index 7c5f0fd9b..c2a9f9526 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/Resource.java +++ b/li.strolch.model/src/main/java/li/strolch/model/Resource.java @@ -27,6 +27,7 @@ import java.util.Set; import li.strolch.exception.StrolchException; import li.strolch.exception.StrolchPolicyException; import li.strolch.model.Locator.LocatorBuilder; +import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDefs; import li.strolch.model.timedstate.StrolchTimedState; import li.strolch.model.timevalue.IValue; @@ -140,11 +141,21 @@ public class Resource extends AbstractStrolchRootElement implements StrolchRootE return this.policyDefs; } + @Override + public PolicyDef getPolicyDef(String type) { + return getPolicyDefs().getPolicyDef(type); + } + @Override public boolean hasPolicyDefs() { return this.policyDefs != null; } + @Override + public boolean hasPolicyDef(String type) { + return this.policyDefs != null && policyDefs.hasPolicyDef(type); + } + @Override public void setPolicyDefs(PolicyDefs policyDefs) { this.policyDefs = policyDefs; diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java index 27ae039b5..a5717edca 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java @@ -33,6 +33,7 @@ import li.strolch.model.Resource; import li.strolch.model.State; import li.strolch.model.Tags; import li.strolch.model.parameter.Parameter; +import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDefs; import li.strolch.model.timevalue.IValue; import li.strolch.model.timevalue.IValueChange; @@ -201,11 +202,21 @@ public class Action extends GroupedParameterizedElement implements IActivityElem return this.policyDefs; } + @Override + public PolicyDef getPolicyDef(String type) { + return getPolicyDefs().getPolicyDef(type); + } + @Override public boolean hasPolicyDefs() { return this.policyDefs != null; } + @Override + public boolean hasPolicyDef(String type) { + return this.policyDefs != null && policyDefs.hasPolicyDef(type); + } + @Override public void setPolicyDefs(PolicyDefs policyDefs) { this.policyDefs = policyDefs; diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java index e2da613bd..361073dd3 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java @@ -35,6 +35,7 @@ import li.strolch.model.StrolchRootElement; import li.strolch.model.Tags; import li.strolch.model.Version; import li.strolch.model.parameter.Parameter; +import li.strolch.model.policy.PolicyDef; import li.strolch.model.policy.PolicyDefs; import li.strolch.model.visitor.IActivityElementVisitor; import li.strolch.model.visitor.StrolchRootElementVisitor; @@ -271,11 +272,21 @@ public class Activity extends AbstractStrolchRootElement return this.policyDefs; } + @Override + public PolicyDef getPolicyDef(String type) { + return getPolicyDefs().getPolicyDef(type); + } + @Override public boolean hasPolicyDefs() { return this.policyDefs != null; } + @Override + public boolean hasPolicyDef(String type) { + return this.policyDefs != null && policyDefs.hasPolicyDef(type); + } + @Override public void setPolicyDefs(PolicyDefs policyDefs) { this.policyDefs = policyDefs;