/* * Data Hub Service (DHuS) - For Space data distribution. * Copyright (C) 2013,2014,2015 GAEL Systems * * This file is part of DHuS software sources. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package fr.gael.dhus.database.object.restriction; import java.util.UUID; import javax.persistence.Column; import javax.persistence.DiscriminatorColumn; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.Table; /** * @author pidancier * */ @Entity @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name="ACCESS_RESTRICTION") @Table (name = "ACCESS_RESTRICTION") public abstract class AccessRestriction { @Column (name = "BLOCKING_REASON") protected String blockingReason; /** * inheritance management within hibernate. */ @Column(name="ACCESS_RESTRICTION",insertable=false,updatable=false) String discriminator; @Id @Column (name = "UUID", nullable = false) private String uuid = UUID.randomUUID ().toString (); /** * @param blocking_reason the blockingReason to set */ public void setBlockingReason (String blocking_reason) { this.blockingReason = blocking_reason; } /** * @return the blockingReason */ public String getBlockingReason () { return blockingReason; } /** * @return the uuid */ public String getUUID () { return uuid; } /** * @param uuid the uuid to set */ public void setUUID (String uuid) { this.uuid = uuid; } public abstract boolean isBlocked(); }