/*
 * Arrebol Consultancy copyright.
 * 
 * This code belongs to Arrebol Consultancy
 * its use, redistribution or modification are prohibited 
 * without written authorization from Arrebol Consultancy.
 */
package com.arrebol.apc.model.mobile.access;

import com.arrebol.apc.model.enums.ActiveStatus;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Immutable;

/**
 *
 * @author Carlos Janitzio Zavala Lopez <janitzio.zavala@arrebol.com.mx>
 */
@Entity
@Immutable
@Table(name = "APC_SECURITY_AUTHENTICATION_MOBILE")
public class MobileUser implements Serializable {

    private static final long serialVersionUID = -6025180801746858060L;

    @Id
    @Column(name = "id", length = 36)
    private String id;

    @Column(name = "user_name", length = 36)
    private String userName;

    @Column(name = "pwd", length = 100)
    private String password;

    @Column(name = "avatar", length = 150)
    private String avatar;

    @Column(name = "id_office", length = 36)
    private String officeId;

    @Column(name = "id_route", length = 36)
    private String routeId;

    @Column(name = "certifier", length = 25)
    private String certifier;

    @Enumerated(EnumType.STRING)
    @Column(name = "management", nullable = false)
    private ActiveStatus management;

    public MobileUser() {
    }

    public MobileUser(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getOfficeId() {
        return officeId;
    }

    public void setOfficeId(String officeId) {
        this.officeId = officeId;
    }

    public String getRouteId() {
        return routeId;
    }

    public void setRouteId(String routeId) {
        this.routeId = routeId;
    }

    public String getCertifier() {
        return certifier;
    }

    public void setCertifier(String certifier) {
        this.certifier = certifier;
    }

    public ActiveStatus getManagement() {
        return management;
    }

    public void setManagement(ActiveStatus management) {
        this.management = management;
    }

    @Override
    public String toString() {
        return "Authentication{" + "userName=" + userName + '}';
    }

}
