com.sample.domain.entities.anagrafica.Tutore.java Source code

Java tutorial

Introduction

Here is the source code for com.sample.domain.entities.anagrafica.Tutore.java

Source

/**
 * contratto-domain
 * 
 * Tutore.java      03/feb/2012, 11:49:27
 * 
 *
 * Copyright (c) 2012 Alten Italia, All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Alten Italia ("Confidential Information").
 * You shall not disclose such Confidential Information and shall use it
 * only in accordance with the terms of the license agreement you entered 
 * into with Alten Italia.
 *
 * Alten Italia - MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY 
 * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, 
 * OR NON-INFRINGEMENT. ALTEN ITALIA SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED
 * BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR 
 * ITS DERIVATIVES.
 */

package com.sample.domain.entities.anagrafica;

import java.io.Serializable;
import java.util.Calendar;

import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.springframework.core.style.ToStringCreator;

import com.sample.common.util.CommonsUtil;
import com.sample.domain.entities.anagrafica.accessor.TipologiaTutore;

/**
 * @author Massimo Ugues
 * @version $Revision$
 */
@Entity
@Access(AccessType.FIELD)
@Table(name = "S_MC_CC_TUTORI")
@SequenceGenerator(name = "SEQ_ID_TUTORE", sequenceName = "SEQ_ID_TUTORE", allocationSize = 1)
public class Tutore implements Serializable {

    private static final long serialVersionUID = -5863108669900415045L;

    @Id
    @Column(name = "ID_TUTORE")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ID_TUTORE")
    private Long idTutore;

    @Column(name = "USER_ID")
    private Long userId;

    @Column(name = "ANAG_NOME")
    private String nome;

    @Column(name = "ANAG_COGNOME")
    private String cognome;

    @Transient
    private TipologiaTutore tipologiaTutore;

    @Column(name = "DATA_NASCITA")
    @Temporal(TemporalType.TIMESTAMP)
    private Calendar dataNascita;

    @Column(name = "COD_FISCALE")
    private String codiceFiscale;

    public Long getIdTutore() {
        return idTutore;
    }

    public void setIdTutore(Long idTutore) {
        this.idTutore = idTutore;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCognome() {
        return cognome;
    }

    public void setCognome(String cognome) {
        this.cognome = cognome;
    }

    public TipologiaTutore getTipologiaTutore() {
        return tipologiaTutore;
    }

    public void setTipologiaTutore(TipologiaTutore tipologiaTutore) {
        this.tipologiaTutore = tipologiaTutore;
    }

    @Access(AccessType.PROPERTY)
    @Column(name = "QUALIFICA")
    String getTipologiaTutoreCode() {
        return (tipologiaTutore != null) ? tipologiaTutore.getCodiceTipologiaTutore() : null;
    }

    void setTipologiaTutoreCode(String tipologiaTutoreCode) {
        tipologiaTutore = TipologiaTutore.decode(tipologiaTutoreCode);
    }

    public Calendar getDataNascita() {
        return dataNascita;
    }

    public void setDataNascita(Calendar dataNascita) {
        this.dataNascita = dataNascita;
    }

    public String getCodiceFiscale() {
        return codiceFiscale;
    }

    public void setCodiceFiscale(String codiceFiscale) {
        this.codiceFiscale = codiceFiscale;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((codiceFiscale == null) ? 0 : codiceFiscale.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Tutore other = (Tutore) obj;
        if (codiceFiscale == null) {
            if (other.codiceFiscale != null)
                return false;
        } else if (!codiceFiscale.equals(other.codiceFiscale))
            return false;
        return true;
    }

    @Override
    public String toString() {

        return new ToStringCreator(this).append("idTutore=" + idTutore).append("userId=" + userId)
                .append("cognome=" + cognome).append("nome= " + nome).append("tipologiaTutore= " + tipologiaTutore)
                .append("codiceFiscale= " + codiceFiscale)
                .append("dataNascita= " + CommonsUtil.formatDate(dataNascita)).toString();

    }
}