package com.fp.dto;

import java.io.Serializable;

public class GeneralRequest extends AbstractDataTransport implements Serializable {

    private static final long serialVersionUID = 1L;

    /** Objeto que almacena la respuesta de una consulta. */
    private Response response;

    /** Codigo de usuario que ejecuta una transaccion. */
    protected String user;

    /** Idioma preferido del usuario. */
    /** Codigo interno de usuario que ejecuta una transaccion. */
    protected Integer internalUserCode;

    /**
     * language
     */
    protected String language;

    /** Perfil del Usuario. */
    protected String profile;

    /** Codigo del modulo al que pertenece la transaccion. */
    protected String transactionModule;

    /** Codigo de transaccion a ejecutar. */
    protected Integer transactionCode;

    /** Version de la transaccion a ejecutar. */
    protected Integer transactionVersion;

    /** Codigo de terminal asociado al ip de la maquina desde la cual se ejecuta una transaccion. */
    protected String terminalCode;

    /** Identificador de la transaccion. */
    protected String journalId;

    /** Codigo de canal desde el cual se ejecuta una transaccion. */
    protected String channelCode;

    /** Codigo de compania. */
    protected Integer company;

    /** Codigo de sucursal origen de la transaccion. */
    protected Integer branchCode;

    /** Codigo de oficina origen de la transaccion. */
    protected Integer officeCode;

    /** Codigo de usuario que ejecuta una transaccion. */
    protected String authorizedUser;

    /** Numero de cuenta a enviar al log de transacion. */
    protected String logaccount;

    /** Numero de solicitud a enviar al log de transacion. */
    protected String logsolicitude;

    /** Codigo de persona a enviar al log de transacion. */
    protected Integer logperson;

    /**
     * Subject a presentar en la agenda del usuario.
     */
    protected String subject;

    /** Codigo del modulo original al que pertenece la transaccion. */
    private String originalTransactionModule;

    /** Codigo de transaccion original a ejecutar. */
    private Integer originalTransactionCode;

    /** Version de la transaccion original a ejecutar. */
    private Integer originalTransactionVersion;

    /** Secuencia interna de la transaccion por numero de mensaje. */
    private Integer jounalSequence;

    /** Indica que la transaccion que se esta ejecutando es el linea. */
    private boolean onLine = true;

    /**
     * Entrega el valor de: response
     * 
     * @return Response
     */
    public Response getResponse() {
        return response;
    }

    /**
     * Fija el valor de: response
     * 
     * @param response Valor a fijar en el atributo.
     */
    public void setResponse(Response response) {
        this.response = response;
    }

    /**
     * Entrega el valor de: user
     * 
     * @return String
     */
    public String getUser() {
        return user;
    }

    /**
     * Fija el valor de: user
     * 
     * @param user Valor a fijar en el atributo.
     */
    public void setUser(String user) {
        this.user = user;
    }

    /**
     * Entrega el valor de: internalUserCode
     * 
     * @return Integer
     */
    public Integer getInternalUserCode() {
        return internalUserCode;
    }

    /**
     * Fija el valor de: internalUserCode
     * 
     * @param internalUserCode Valor a fijar en el atributo.
     */
    public void setInternalUserCode(Integer internalUserCode) {
        this.internalUserCode = internalUserCode;
    }

    /**
     * Entrega el valor de: language
     * 
     * @return String
     */
    public String getLanguage() {
        return language;
    }

    /**
     * Fija el valor de: language
     * 
     * @param language Valor a fijar en el atributo.
     */
    public void setLanguage(String language) {
        this.language = language;
    }

    /**
     * Entrega el valor de: profile
     * 
     * @return String
     */
    public String getProfile() {
        return profile;
    }

    /**
     * Fija el valor de: profile
     * 
     * @param profile Valor a fijar en el atributo.
     */
    public void setProfile(String profile) {
        this.profile = profile;
    }

    /**
     * Entrega el valor de: transactionModule
     * 
     * @return String
     */
    public String getTransactionModule() {
        return transactionModule;
    }

    /**
     * Fija el valor de: transactionModule
     * 
     * @param transactionModule Valor a fijar en el atributo.
     */
    public void setTransactionModule(String transactionModule) {
        this.transactionModule = transactionModule;
    }

    /**
     * Entrega el valor de: transactionCode
     * 
     * @return Integer
     */
    public Integer getTransactionCode() {
        return transactionCode;
    }

    /**
     * Fija el valor de: transactionCode
     * 
     * @param transactionCode Valor a fijar en el atributo.
     */
    public void setTransactionCode(Integer transactionCode) {
        this.transactionCode = transactionCode;
    }

    /**
     * Entrega el valor de: transactionVersion
     * 
     * @return Integer
     */
    public Integer getTransactionVersion() {
        return transactionVersion;
    }

    /**
     * Fija el valor de: transactionVersion
     * 
     * @param transactionVersion Valor a fijar en el atributo.
     */
    public void setTransactionVersion(Integer transactionVersion) {
        this.transactionVersion = transactionVersion;
    }

    /**
     * Entrega el valor de: terminalCode
     * 
     * @return String
     */
    public String getTerminalCode() {
        return terminalCode;
    }

    /**
     * Fija el valor de: terminalCode
     * 
     * @param terminalCode Valor a fijar en el atributo.
     */
    public void setTerminalCode(String terminalCode) {
        this.terminalCode = terminalCode;
    }

    /**
     * Entrega el valor de: journalId
     * 
     * @return String
     */
    public String getJournalId() {
        return journalId;
    }

    /**
     * Fija el valor de: journalId
     * 
     * @param journalId Valor a fijar en el atributo.
     */
    public void setJournalId(String journalId) {
        this.journalId = journalId;
    }

    /**
     * Entrega el valor de: channelCode
     * 
     * @return String
     */
    public String getChannelCode() {
        return channelCode;
    }

    /**
     * Fija el valor de: channelCode
     * 
     * @param channelCode Valor a fijar en el atributo.
     */
    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    /**
     * Entrega el valor de: company
     * 
     * @return Integer
     */
    public Integer getCompany() {
        return company;
    }

    /**
     * Fija el valor de: company
     * 
     * @param company Valor a fijar en el atributo.
     */
    public void setCompany(Integer company) {
        this.company = company;
    }

    /**
     * Entrega el valor de: branchCode
     * 
     * @return Integer
     */
    public Integer getBranchCode() {
        return branchCode;
    }

    /**
     * Fija el valor de: branchCode
     * 
     * @param branchCode Valor a fijar en el atributo.
     */
    public void setBranchCode(Integer branchCode) {
        this.branchCode = branchCode;
    }

    /**
     * Entrega el valor de: officeCode
     * 
     * @return Integer
     */
    public Integer getOfficeCode() {
        return officeCode;
    }

    /**
     * Fija el valor de: officeCode
     * 
     * @param officeCode Valor a fijar en el atributo.
     */
    public void setOfficeCode(Integer officeCode) {
        this.officeCode = officeCode;
    }

    /**
     * Entrega el valor de: authorizedUser
     * 
     * @return String
     */
    public String getAuthorizedUser() {
        return authorizedUser;
    }

    /**
     * Fija el valor de: authorizedUser
     * 
     * @param authorizedUser Valor a fijar en el atributo.
     */
    public void setAuthorizedUser(String authorizedUser) {
        this.authorizedUser = authorizedUser;
    }

    /**
     * Entrega el valor de: logaccount
     * 
     * @return String
     */
    public String getLogaccount() {
        return logaccount;
    }

    /**
     * Fija el valor de: logaccount
     * 
     * @param logaccount Valor a fijar en el atributo.
     */
    public void setLogaccount(String logaccount) {
        this.logaccount = logaccount;
    }

    /**
     * Entrega el valor de: logsolicitude
     * 
     * @return String
     */
    public String getLogsolicitude() {
        return logsolicitude;
    }

    /**
     * Fija el valor de: logsolicitude
     * 
     * @param logsolicitude Valor a fijar en el atributo.
     */
    public void setLogsolicitude(String logsolicitude) {
        this.logsolicitude = logsolicitude;
    }

    /**
     * Entrega el valor de: logperson
     * 
     * @return Integer
     */
    public Integer getLogperson() {
        return logperson;
    }

    /**
     * Fija el valor de: logperson
     * 
     * @param logperson Valor a fijar en el atributo.
     */
    public void setLogperson(Integer logperson) {
        this.logperson = logperson;
    }

    /**
     * Entrega el valor de: subject
     * 
     * @return String
     */
    public String getSubject() {
        return subject;
    }

    /**
     * Fija el valor de: subject
     * 
     * @param subject Valor a fijar en el atributo.
     */
    public void setSubject(String subject) {
        this.subject = subject;
    }

    /**
     * Entrega el valor de: originalTransactionModule
     * 
     * @return String
     */
    public String getOriginalTransactionModule() {
        return originalTransactionModule;
    }

    /**
     * Fija el valor de: originalTransactionModule
     * 
     * @param originalTransactionModule Valor a fijar en el atributo.
     */
    public void setOriginalTransactionModule(String originalTransactionModule) {
        this.originalTransactionModule = originalTransactionModule;
    }

    /**
     * Entrega el valor de: originalTransactionCode
     * 
     * @return Integer
     */
    public Integer getOriginalTransactionCode() {
        return originalTransactionCode;
    }

    /**
     * Fija el valor de: originalTransactionCode
     * 
     * @param originalTransactionCode Valor a fijar en el atributo.
     */
    public void setOriginalTransactionCode(Integer originalTransactionCode) {
        this.originalTransactionCode = originalTransactionCode;
    }

    /**
     * Entrega el valor de: originalTransactionVersion
     * 
     * @return Integer
     */
    public Integer getOriginalTransactionVersion() {
        return originalTransactionVersion;
    }

    /**
     * Fija el valor de: originalTransactionVersion
     * 
     * @param originalTransactionVersion Valor a fijar en el atributo.
     */
    public void setOriginalTransactionVersion(Integer originalTransactionVersion) {
        this.originalTransactionVersion = originalTransactionVersion;
    }

    /**
     * Entrega el valor de: jounalSequence
     * 
     * @return Integer
     */
    public Integer getJounalSequence() {
        return jounalSequence;
    }

    /**
     * Fija el valor de: jounalSequence
     * 
     * @param jounalSequence Valor a fijar en el atributo.
     */
    public void setJounalSequence(Integer jounalSequence) {
        this.jounalSequence = jounalSequence;
    }

    /**
     * Entrega el valor de: onLine
     * 
     * @return boolean
     */
    public boolean isOnLine() {
        return onLine;
    }

    /**
     * Fija el valor de: onLine
     * 
     * @param onLine Valor a fijar en el atributo.
     */
    public void setOnLine(boolean onLine) {
        this.onLine = onLine;
    }

    @Override
    public Object cloneMe() throws CloneNotSupportedException {
        // No hacer un clone esta definido por la herencia de AbstractDataTransport
        return null;
    }

}
