/* * Copyright 2015 herd contributors * * 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.finra.herd.model.jpa; import java.util.Collection; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; /** * An instance of business object data notification. */ @Entity @DiscriminatorValue(NotificationTypeEntity.NOTIFICATION_TYPE_BDATA) public class BusinessObjectDataNotificationRegistrationEntity extends NotificationRegistrationEntity { @ManyToOne @JoinColumn(name = "bus_objct_dfntn_id", referencedColumnName = "bus_objct_dfntn_id") private BusinessObjectDefinitionEntity businessObjectDefinition; /** * The usage column. */ @Column(name = "usage_cd") private String usage; @ManyToOne @JoinColumn(name = "file_type_cd", referencedColumnName = "file_type_cd") private FileTypeEntity fileType; /** * The business object format version column. */ @Column(name = "frmt_vrsn_nb") private Integer businessObjectFormatVersion; /** * The storage column. */ @ManyToOne @JoinColumn(name = "strge_cd", referencedColumnName = "strge_cd") private StorageEntity storage; /** * The new business object data status column. */ @ManyToOne @JoinColumn(name = "new_bus_objct_data_stts_cd", referencedColumnName = "bus_objct_data_stts_cd") private BusinessObjectDataStatusEntity newBusinessObjectDataStatus; /** * The old business object data status column. */ @ManyToOne @JoinColumn(name = "old_bus_objct_data_stts_cd", referencedColumnName = "bus_objct_data_stts_cd") private BusinessObjectDataStatusEntity oldBusinessObjectDataStatus; @OneToMany(mappedBy = "notificationRegistration", orphanRemoval = true, cascade = {CascadeType.ALL}) @OrderBy("id") private Collection<NotificationActionEntity> notificationActions; public BusinessObjectDefinitionEntity getBusinessObjectDefinition() { return businessObjectDefinition; } public void setBusinessObjectDefinition(BusinessObjectDefinitionEntity businessObjectDefinition) { this.businessObjectDefinition = businessObjectDefinition; } public String getUsage() { return usage; } public void setUsage(String usage) { this.usage = usage; } public FileTypeEntity getFileType() { return fileType; } public void setFileType(FileTypeEntity fileType) { this.fileType = fileType; } public Integer getBusinessObjectFormatVersion() { return businessObjectFormatVersion; } public void setBusinessObjectFormatVersion(Integer businessObjectFormatVersion) { this.businessObjectFormatVersion = businessObjectFormatVersion; } public StorageEntity getStorage() { return storage; } public void setStorage(StorageEntity storage) { this.storage = storage; } public BusinessObjectDataStatusEntity getNewBusinessObjectDataStatus() { return newBusinessObjectDataStatus; } public void setNewBusinessObjectDataStatus(BusinessObjectDataStatusEntity newBusinessObjectDataStatus) { this.newBusinessObjectDataStatus = newBusinessObjectDataStatus; } public BusinessObjectDataStatusEntity getOldBusinessObjectDataStatus() { return oldBusinessObjectDataStatus; } public void setOldBusinessObjectDataStatus(BusinessObjectDataStatusEntity oldBusinessObjectDataStatus) { this.oldBusinessObjectDataStatus = oldBusinessObjectDataStatus; } public Collection<NotificationActionEntity> getNotificationActions() { return notificationActions; } public void setNotificationActions(Collection<NotificationActionEntity> notificationActions) { this.notificationActions = notificationActions; } }