* 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.Table;
-import javax.persistence.Version;
-
import org.wamblee.usermgt.User;
/**
*
* @author Erik Brakkee
*/
-@Entity
-@Table(name = "SEC_AUTH_RULE")
-@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
-@DiscriminatorColumn(name = "TYPE")
-public abstract class AuthorizationRule {
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long primaryKey;
+public interface AuthorizationRule {
- @Version
- private int version;
-
- public AuthorizationRule() {
- // Empty
- }
-
- public AuthorizationRule(AuthorizationRule aRule) {
- primaryKey = aRule.primaryKey;
- version = aRule.version;
- }
-
/**
* Returns the supported object types for which this authorization rule
* applies. This can be used by the authorization service for optimization.
*
* @return Authorization result.
*/
- public abstract AuthorizationResult isAllowed(Object aResource, Operation aOperation,
- User aUser);
-}
+ public abstract AuthorizationResult isAllowed(Object aResource,
+ Operation aOperation, User aUser);
+
+}
\ No newline at end of file