View Javadoc
1   package org.apache.juddi.model;
2   /*
3    * Copyright 2001-2008 The Apache Software Foundation.
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  import java.util.ArrayList;
19  import java.util.Date;
20  import java.util.List;
21  import javax.persistence.CascadeType;
22  import javax.persistence.Column;
23  import javax.persistence.Entity;
24  import javax.persistence.FetchType;
25  import javax.persistence.JoinColumn;
26  import javax.persistence.Lob;
27  import javax.persistence.ManyToOne;
28  import javax.persistence.OneToMany;
29  import javax.persistence.OneToOne;
30  import javax.persistence.OrderBy;
31  import javax.persistence.Table;
32  
33  /**
34   * @author <a href="mailto:kurt@apache.org">Kurt T Stam</a>
35   * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
36   */
37  @Entity
38  @Table(name = "j3_binding_template")
39  public class BindingTemplate extends UddiEntity implements java.io.Serializable {
40  
41  	private static final long serialVersionUID = -813683306021520411L;
42  	private BusinessService businessService;
43  	private List<BindingDescr> bindingDescrs = new ArrayList<BindingDescr>(0);
44  
45  	private String accessPointType;
46  	private String accessPointUrl;
47  	private String hostingRedirector;
48  	private BindingCategoryBag categoryBag;
49  	private List<TmodelInstanceInfo> tmodelInstanceInfos = new ArrayList<TmodelInstanceInfo>(0);
50      private List<Signature> signatures = new ArrayList<Signature>(0);
51  	
52  	public BindingTemplate() {
53  	}
54  
55  	public BindingTemplate(String entityKey, BusinessService businessService, Date modified) {
56  		this.entityKey = entityKey;
57  		this.businessService = businessService;
58  		this.modified = modified;
59  	}
60  	public BindingTemplate(String entityKey, BusinessService businessService, String accessPointType,
61  			String accessPointUrl, String hostingRedirector, Date modified,
62  			BindingCategoryBag categoryBag,
63  			List<TmodelInstanceInfo> tmodelInstanceInfos,
64  			List<BindingDescr> bindingDescrs) {
65  		this.entityKey = entityKey;
66  		this.businessService = businessService;
67  		this.accessPointType = accessPointType;
68  		this.accessPointUrl = accessPointUrl;
69  		this.hostingRedirector = hostingRedirector;
70  		this.modified = modified;
71  		this.categoryBag = categoryBag;
72  		this.tmodelInstanceInfos = tmodelInstanceInfos;
73  		this.bindingDescrs = bindingDescrs;
74  	}
75  
76  	@ManyToOne(fetch = FetchType.LAZY)
77  	@JoinColumn(name = "service_key", nullable = false)
78  	public BusinessService getBusinessService() {
79  		return this.businessService;
80  	}
81  	public void setBusinessService(BusinessService businessService) {
82  		this.businessService = businessService;
83  	}
84  
85  	@Column(name = "access_point_type", length = 255)
86  	public String getAccessPointType() {
87  		return this.accessPointType;
88  	}
89  	public void setAccessPointType(String accessPointType) {
90  		this.accessPointType = accessPointType;
91  	}
92  
93          @Lob
94  	@Column(name = "access_point_url", length = 4096)
95  	public String getAccessPointUrl() {
96  		return this.accessPointUrl;
97  	}
98  	public void setAccessPointUrl(String accessPointUrl) {
99  		this.accessPointUrl = accessPointUrl;
100 	}
101 
102 	@Column(name = "hosting_redirector")
103 	public String getHostingRedirector() {
104 		return this.hostingRedirector;
105 	}
106 	public void setHostingRedirector(String hostingRedirector) {
107 		this.hostingRedirector = hostingRedirector;
108 	}
109 	
110 	@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bindingTemplate")
111 	public BindingCategoryBag getCategoryBag() {
112 		return this.categoryBag;
113 	}
114 	public void setCategoryBag(BindingCategoryBag categoryBag) {
115 		this.categoryBag = categoryBag;
116 	}
117 
118 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bindingTemplate")
119 	@OrderBy
120 	public List<TmodelInstanceInfo> getTmodelInstanceInfos() {
121 		return this.tmodelInstanceInfos;
122 	}
123 	public void setTmodelInstanceInfos(
124 			List<TmodelInstanceInfo> tmodelInstanceInfos) {
125 		this.tmodelInstanceInfos = tmodelInstanceInfos;
126 	}
127 
128 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bindingTemplate")
129 	@OrderBy
130 	public List<BindingDescr> getBindingDescrs() {
131 		return this.bindingDescrs;
132 	}
133 	public void setBindingDescrs(List<BindingDescr> bindingDescrs) {
134 		this.bindingDescrs = bindingDescrs;
135 	}
136         
137         @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bindingTemplate")
138 	@OrderBy
139         public List<Signature> getSignatures() {
140                 return signatures;
141         }
142 
143         public void setSignatures(List<Signature> signatures) {
144                 this.signatures = signatures;
145         }
146 }