X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FUserCondition.java;h=293869b45edc00daaf26670a1f8f9016bdeb4fee;hb=3de450597c3bcd9da096073f5145af4fded4ba33;hp=9f0963b7dc86b9d2762d74f190afab6fd3c436f5;hpb=101a6bcf70e6c69dc836872e736ef45e364cb7a1;p=utils diff --git a/security/impl/src/main/java/org/wamblee/security/authorization/UserCondition.java b/security/impl/src/main/java/org/wamblee/security/authorization/UserCondition.java index 9f0963b7..293869b4 100644 --- a/security/impl/src/main/java/org/wamblee/security/authorization/UserCondition.java +++ b/security/impl/src/main/java/org/wamblee/security/authorization/UserCondition.java @@ -15,6 +15,17 @@ */ package org.wamblee.security.authorization; +import javax.persistence.DiscriminatorColumn; +import javax.persistence.DiscriminatorType; +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; import org.wamblee.usermgt.User; @@ -24,7 +35,28 @@ import org.wamblee.usermgt.User; * * @author Erik Brakkee */ -public interface UserCondition extends Persistent { +@Entity +@Table(name = "SEC_USER_CONDITION") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "TYPE") +public abstract class UserCondition { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long primaryKey; + + @Version + private int version; + + public UserCondition() { + // Empty. + } + + public UserCondition(UserCondition aCondition) { + primaryKey = aCondition.primaryKey; + version = aCondition.version; + } + /** * Determines if the condition matches. * @@ -33,5 +65,5 @@ public interface UserCondition extends Persistent { * * @return True if the condition matches, false otherwise. */ - boolean matches(User aUser); + public abstract boolean matches(User aUser); }