/* * Copyright (C) 2013 AXIA Studio (http://www.axiastudio.com) * * 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 Afffero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.axiastudio.suite.modelli.entities; import javax.persistence.*; import java.io.Serializable; import java.util.Collection; /** * * @author AXIA Studio (http://www.axiastudio.com) */ @Entity @Table(schema="modelli") @SequenceGenerator(name="genmodello", sequenceName="modelli.modello_id_seq", initialValue=1, allocationSize=1) public class Modello implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="genmodello") private Long id; @Column(name="titolo", length=255) private String titolo; @Column(name="descrizione", length=1024) private String descrizione; @Column(name="uri", length=2048) private String uri; @JoinColumn(name = "modellopadre", referencedColumnName = "id") @ManyToOne private Modello modellopadre; @Column(name="protocollabile") private Boolean protocollabile=false; @OneToMany(mappedBy = "modello", orphanRemoval = true, cascade=CascadeType.ALL) private Collection<TipoPraticaModello> tipoPraticaModelloCollection; @OneToMany(mappedBy = "modello", orphanRemoval = true, cascade=CascadeType.ALL) private Collection<ProcedimentoModello> procedimentoModelloCollection; @OneToMany(mappedBy = "modello", orphanRemoval = true, cascade=CascadeType.ALL) private Collection<Segnalibro> segnalibroCollection; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitolo() { return titolo; } public void setTitolo(String titolo) { this.titolo = titolo; } public String getDescrizione() { return descrizione; } public void setDescrizione(String descrizione) { this.descrizione = descrizione; } public String getUri() { return uri; } public void setUri(String uri) { this.uri = uri; } public Modello getModellopadre() { return modellopadre; } public void setModellopadre(Modello modellopadre) { this.modellopadre = modellopadre; } public Collection<TipoPraticaModello> getTipoPraticaModelloCollection() { return tipoPraticaModelloCollection; } public Boolean getProtocollabile() { return protocollabile; } public void setProtocollabile(Boolean protocollabile) { this.protocollabile = protocollabile; } public void setTipoPraticaModelloCollection(Collection<TipoPraticaModello> tipoPraticaModelloCollection) { this.tipoPraticaModelloCollection = tipoPraticaModelloCollection; } public Collection<ProcedimentoModello> getProcedimentoModelloCollection() { return procedimentoModelloCollection; } public void setProcedimentoModelloCollection(Collection<ProcedimentoModello> procedimentoModelloCollection) { this.procedimentoModelloCollection = procedimentoModelloCollection; } public Collection<Segnalibro> getSegnalibroCollection() { return segnalibroCollection; } public void setSegnalibroCollection(Collection<Segnalibro> segnalibroCollection) { this.segnalibroCollection = segnalibroCollection; } @Override public String toString() { return this.titolo; } }