blob: f26f5ed7b9ca2167955cc343e654f48282d37a61 [file] [log] [blame]
package org.apache.juddi.model;
/*
* Copyright 2001-2008 The Apache Software Foundation.
*
* 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.
*/
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderBy;
import javax.persistence.Table;
/**
* @author <a href="mailto:kurt@apache.org">Kurt T Stam</a>
* @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
*/
@Entity
@Table(name = "j3_business_service")
public class BusinessService extends UddiEntity implements java.io.Serializable {
private static final long serialVersionUID = 7793243417208829793L;
private BusinessEntity businessEntity;
private List<ServiceName> serviceNames = new ArrayList<ServiceName>(0);
private List<ServiceDescr> serviceDescrs = new ArrayList<ServiceDescr>(0);
private List<BindingTemplate> bindingTemplates = new ArrayList<BindingTemplate>(0);
private ServiceCategoryBag categoryBag;
private List<ServiceProjection> projectingBusinesses = new ArrayList<ServiceProjection>(0);
private List<Signature> signatures = new ArrayList<Signature>(0);
public BusinessService() {
}
public BusinessService(String entityKey, BusinessEntity businessEntity, Date modified) {
this.entityKey = entityKey;
this.businessEntity = businessEntity;
this.modified = modified;
}
public BusinessService(String entityKey, BusinessEntity businessEntity, Date modified,
List<ServiceName> serviceNames, List<ServiceDescr> serviceDescrs,
List<BindingTemplate> bindingTemplates,
ServiceCategoryBag categoryBag) {
this.entityKey = entityKey;
this.businessEntity = businessEntity;
this.modified = modified;
this.serviceNames = serviceNames;
this.serviceDescrs = serviceDescrs;
this.bindingTemplates = bindingTemplates;
this.categoryBag = categoryBag;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "business_key", nullable = false)
public BusinessEntity getBusinessEntity() {
return this.businessEntity;
}
public void setBusinessEntity(BusinessEntity businessEntity) {
this.businessEntity = businessEntity;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
@OrderBy
public List<ServiceName> getServiceNames() {
return this.serviceNames;
}
public void setServiceNames(List<ServiceName> serviceNames) {
this.serviceNames = serviceNames;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
@OrderBy
public List<ServiceDescr> getServiceDescrs() {
return this.serviceDescrs;
}
public void setServiceDescrs(List<ServiceDescr> serviceDescrs) {
this.serviceDescrs = serviceDescrs;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
@OrderBy
public List<BindingTemplate> getBindingTemplates() {
return this.bindingTemplates;
}
public void setBindingTemplates(List<BindingTemplate> bindingTemplates) {
this.bindingTemplates = bindingTemplates;
}
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
public ServiceCategoryBag getCategoryBag() {
return this.categoryBag;
}
public void setCategoryBag(ServiceCategoryBag categoryBag) {
this.categoryBag = categoryBag;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
public List<ServiceProjection> getProjectingBusinesses() {
return projectingBusinesses;
}
public void setProjectingBusinesses(List<ServiceProjection> projectingBusinesses) {
this.projectingBusinesses = projectingBusinesses;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "businessService")
@OrderBy
public List<Signature> getSignatures() {
return signatures;
}
public void setSignatures(List<Signature> signatures) {
this.signatures = signatures;
}
}