X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FPathCondition.java;h=51b97f5f2a0cf2c7ffcbd4d32ab8d4b3028e5695;hb=5bbd2c6e9dcf47e312122a3205c78b676a724e07;hp=4e03953f7803ac59b7c6769564bf7d7cdf2f2483;hpb=5ea8f0e2af53562c1507e8fb5a3ede2af5c5de6c;p=utils diff --git a/security/impl/src/main/java/org/wamblee/security/authorization/PathCondition.java b/security/impl/src/main/java/org/wamblee/security/authorization/PathCondition.java index 4e03953f..51b97f5f 100644 --- a/security/impl/src/main/java/org/wamblee/security/authorization/PathCondition.java +++ b/security/impl/src/main/java/org/wamblee/security/authorization/PathCondition.java @@ -15,14 +15,43 @@ */ package org.wamblee.security.authorization; -import org.wamblee.persistence.Persistent; +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; /** * Checks if a path satisfies a condition. * * @author Erik Brakkee */ -public interface PathCondition extends Persistent { +@Entity +@Table(name = "SEC_PATH_CONDITION") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "TYPE") +public abstract class PathCondition { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long primaryKey; + + @Version + private int version; + + public PathCondition() { + // Empty + } + + public PathCondition(PathCondition aCondition) { + primaryKey = aCondition.primaryKey; + version = aCondition.version; + } + /** * Checks if the path matches the condition. * @@ -31,5 +60,5 @@ public interface PathCondition extends Persistent { * * @return True iff the path matches. */ - boolean matches(String aPath); + public abstract boolean matches(String aPath); }