X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fusermgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FAbstractAuthorizationService.java;fp=security%2Fusermgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FAbstractAuthorizationService.java;h=79b9d3d0df5b8a55ef0c1cf52f8b7fadb87d55a1;hb=9449ea0f360f6e9c14057db57f3ee0bfba947ab4;hp=0000000000000000000000000000000000000000;hpb=e8b988e92306a4aea2f047af1b48588147288831;p=utils diff --git a/security/usermgt/src/main/java/org/wamblee/security/authorization/AbstractAuthorizationService.java b/security/usermgt/src/main/java/org/wamblee/security/authorization/AbstractAuthorizationService.java new file mode 100644 index 00000000..79b9d3d0 --- /dev/null +++ b/security/usermgt/src/main/java/org/wamblee/security/authorization/AbstractAuthorizationService.java @@ -0,0 +1,78 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +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.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.Table; +import javax.persistence.Version; + +/** + * Service to determine if access to a certain resource is allowed. + * + * @author Erik Brakkee + */ +@Entity +@Table(name = "SEC_AUTH_SVC") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name = "TYPE") +@NamedQueries( + @NamedQuery(name = AbstractAuthorizationService.QUERY_FIND_BY_NAME, + query = "select s from AbstractAuthorizationService s where s.name = :" + + AbstractAuthorizationService.NAME_PARAM) + ) +public abstract class AbstractAuthorizationService implements AuthorizationService { + + public static final String QUERY_FIND_BY_NAME = "AuthorizationService.findByName"; + public static final String NAME_PARAM = "name"; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @Version + private int version; + + /** + * Name for this instance of the authorization service. + */ + private String name; + + public AbstractAuthorizationService() { + // Empty. + } + + public AbstractAuthorizationService(String aName) { + name = aName; + } + + public AbstractAuthorizationService(AbstractAuthorizationService aSvc) { + id = aSvc.id; + version = aSvc.version; + name = aSvc.name; + } + + public String getName() { + return name; + } +}