/******************************************************************************* * Copyright 2018 The MIT Internet Trust Consortium * * 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.mitre.uma.model; import java.util.Set; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; /** * @author jricher */ @Entity @Table(name = "permission") public class Permission { private Long id; private ResourceSet resourceSet; private Set scopes; /** * @return the id */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") public Long getId() { return id; } /** * @param id the id to set */ public void setId(Long id) { this.id = id; } /** * @return the resourceSet */ @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "resource_set_id") public ResourceSet getResourceSet() { return resourceSet; } /** * @param resourceSet the resourceSet to set */ public void setResourceSet(ResourceSet resourceSet) { this.resourceSet = resourceSet; } /** * @return the scopes */ @ElementCollection(fetch = FetchType.EAGER) @Column(name = "scope") @CollectionTable( name = "permission_scope", joinColumns = @JoinColumn(name = "owner_id") ) public Set getScopes() { return scopes; } /** * @param scopes the scopes to set */ public void setScopes(Set scopes) { this.scopes = scopes; } }