All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.narayana.blacktie.jatmibroker.xatmi.Response Maven / Gradle / Ivy

There is a newer version: 5.12.0.Final
Show newest version
/*
 * JBoss, Home of Professional Open Source
 * Copyright 2008, Red Hat, Inc., and others contributors as indicated
 * by the @authors tag. All rights reserved.
 * See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 * This copyrighted material is made available to anyone wishing to use,
 * modify, copy, or redistribute it subject to the terms and conditions
 * of the GNU Lesser General Public License, v. 2.1.
 * This program is distributed in the hope that it will be useful, but WITHOUT A
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
 * You should have received a copy of the GNU Lesser General Public License,
 * v.2.1 along with this distribution; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA  02110-1301, USA.
 */
package org.jboss.narayana.blacktie.jatmibroker.xatmi;

import java.io.Serializable;

import org.jboss.narayana.blacktie.jatmibroker.xatmi.impl.ConnectionImpl;

/**
 * This class encapsulates the response from the remote service and the return
 * code
 */
public class Response implements Serializable {

    /**
     * A non-default serialized id.
     */
    private static final long serialVersionUID = 1L;

    /**
     * The connection descriptor that the response was received for.
     */
    private int cd;

    /**
     * The return value
     */
    private short rval;

    /**
     * The return code
     */
    private int rcode;

    /**
     * The flags to return
     */
    private int flags;

    /**
     * The response from the server
     */
    private Buffer buffer;

    /**
     * Services construct their responses using this constructor.
     * 
     * @param rval The value the service wishes to use.
     * @param rcode The code the service wants to respond with.
     * @param buffer The buffer to return.
     * @param flags The flags to respond with.
     */
    public Response(short rval, int rcode, Buffer buffer, int flags) {
        this.rval = rval;
        this.rcode = rcode;
        this.buffer = buffer;
        this.flags = flags;
    }

    /**
     * When a client receives a response this is the method that is used by the core framework to assemble the response.
     * 
     * @param cd The connection that actually received the response (may be different to expected if {@link ConnectionImpl#TPGETANY}
     *        was used.
     * @param rval The return value.
     * @param rcode The return code.
     * @param buffer The buffer response.
     * @param flags The flags the service used.
     */
    public Response(int cd, short rval, int rcode, Buffer buffer, int flags) {
        this.cd = cd;
        this.rval = rval;
        this.rcode = rcode;
        this.buffer = buffer;
        this.flags = flags;
    }

    /**
     * Get the return value
     * 
     * @return The return value
     */
    public short getRval() {
        return rval;
    }

    /**
     * Get the return code
     * 
     * @return The return code
     */
    public int getRcode() {
        return rcode;
    }

    /**
     * Get the flags that the service responded with.
     * 
     * @return The flags
     */
    public int getFlags() {
        return flags;
    }

    /**
     * Get the buffer that the service responded with.
     * 
     * @return The buffer
     */
    public Buffer getBuffer() {
        return buffer;
    }

    /**
     * Get the cd of the service that responded (may vary based on Connection#TPGETANY)
     * 
     * @return The connection descriptor
     */
    public int getCd() {
        return cd;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy