X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FOperationCondition.java;fp=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FOperationCondition.java;h=3e8f8fb48c01515271b478ea012e5f2da04bb38d;hb=bac5a4d56e975847a52e497bf2777c89b66aebfc;hp=916ab19ae87f73742a550050a3bcec662f2e771c;hpb=476ab93a6ea0c57bbcc75594886de985ea8f04c2;p=utils diff --git a/security/impl/src/main/java/org/wamblee/security/authorization/OperationCondition.java b/security/impl/src/main/java/org/wamblee/security/authorization/OperationCondition.java index 916ab19a..3e8f8fb4 100644 --- a/security/impl/src/main/java/org/wamblee/security/authorization/OperationCondition.java +++ b/security/impl/src/main/java/org/wamblee/security/authorization/OperationCondition.java @@ -15,6 +15,16 @@ */ package org.wamblee.security.authorization; +import javax.persistence.DiscriminatorColumn; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.Table; +import javax.persistence.Version; + import org.wamblee.persistence.Persistent; /** @@ -22,7 +32,28 @@ import org.wamblee.persistence.Persistent; * * @author Erik Brakkee */ -public interface OperationCondition extends Persistent { +@Entity +@Table(name = "SEC_OPERATION_CONDITION") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "TYPE") +public abstract class OperationCondition { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long primaryKey; + + @Version + private int version; + + public OperationCondition() { + // Empty + } + + public OperationCondition(OperationCondition aCondition) { + primaryKey = aCondition.primaryKey; + version = aCondition.version; + } + /** * Determines if the operation matches. * @@ -31,5 +62,5 @@ public interface OperationCondition extends Persistent { * * @return True iff the operation matches. */ - boolean matches(Operation aOperation); + public abstract boolean matches(Operation aOperation); }