/src/classes/com/sapienter/jbilling/server/invoice/db/InvoiceDeliveryMethodDTO.java
https://github.com/othmanelmoulat/jbilling-2.2-Extentions · Java · 117 lines · 81 code · 17 blank · 19 comment · 0 complexity · 7967dc7bacaba19843d8858d26356cab MD5 · raw file
- /*
- jBilling - The Enterprise Open Source Billing System
- Copyright (C) 2003-2009 Enterprise jBilling Software Ltd. and Emiliano Conde
-
- This file is part of jbilling.
-
- jbilling 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.
-
- jbilling 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 jbilling. If not, see <http://www.gnu.org/licenses/>.
- */
- package com.sapienter.jbilling.server.invoice.db;
-
- import java.io.Serializable;
- import java.util.HashSet;
- import java.util.Set;
-
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- 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.JoinTable;
- import javax.persistence.ManyToMany;
- import javax.persistence.OneToMany;
- import javax.persistence.Table;
- import javax.persistence.TableGenerator;
- import javax.persistence.Version;
-
- import com.sapienter.jbilling.server.user.db.CompanyDTO;
- import com.sapienter.jbilling.server.user.db.CustomerDTO;
- import org.hibernate.annotations.Cache;
- import org.hibernate.annotations.CacheConcurrencyStrategy;
-
- @Entity
- @TableGenerator(
- name = "invoice_delivery_method_GEN",
- table = "jbilling_seqs",
- pkColumnName = "name",
- valueColumnName = "next_id",
- pkColumnValue = "invoice_delivery_method",
- allocationSize = 100)
- @Table(name = "invoice_delivery_method")
- @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
- public class InvoiceDeliveryMethodDTO implements Serializable {
-
- private int id;
- private Set<CompanyDTO> entities = new HashSet<CompanyDTO>(0);
- private Set<CustomerDTO> customers = new HashSet<CustomerDTO>(0);
- private int versionNum;
-
- public InvoiceDeliveryMethodDTO() {
- }
-
- public InvoiceDeliveryMethodDTO(int id) {
- this.id = id;
- }
-
- public InvoiceDeliveryMethodDTO(int id, Set<CompanyDTO> entities,
- Set<CustomerDTO> customers) {
- this.id = id;
- this.entities = entities;
- this.customers = customers;
- }
-
- @Id
- @GeneratedValue(strategy = GenerationType.TABLE, generator = "invoice_delivery_method_GEN")
- @Column(name = "id", unique = true, nullable = false)
- public int getId() {
- return this.id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- @JoinTable(name = "entity_delivery_method_map", joinColumns = { @JoinColumn(name = "method_id", updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "entity_id", updatable = false) })
- public Set<CompanyDTO> getEntities() {
- return this.entities;
- }
-
- public void setEntities(Set<CompanyDTO> entities) {
- this.entities = entities;
- }
-
- @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invoiceDeliveryMethod")
- public Set<CustomerDTO> getCustomers() {
- return this.customers;
- }
-
- public void setCustomers(Set<CustomerDTO> customers) {
- this.customers = customers;
- }
-
- @Version
- @Column(name="OPTLOCK")
- public int getVersionNum() {
- return versionNum;
- }
-
- public void setVersionNum(int versionNum) {
- this.versionNum = versionNum;
- }
-
- }