/********************************************************************
* API for Servlets and SignatureGenerators in RAP
*  enabling extensible behaviors for RAP Digital Objects
* RAP - Repository Access Protocol
********************************************************************/
package ServletAPI;

/**
 * A TypeSignature defines a behavior interface (a Disseminator Type)
 * for a RAP Digital Object as an array of MethodSignatures.  Each 
 * MethodSignature defines a particular behavior -- it is the "signature"
 * for a particular method (of the TypeSignature).
 *
 * @author Christophe Blanchi
 * @author Sandy Payette
 * @author Naomi Dushay
 **/
public class MethodSignature
{
    /**
     * the name of the method
     **/
    public String methodName;

    /**
     * the parameter descriptions for this method
     **/
    public ServletAPI.ParameterDescription[] parameters;

    /**
     * the return type for this method.
     *   returnType is not populated in the context
     *   of a TypeSignature, but is included here because each
     *   MethodSignature must return an array of MIMETypedStreams.
     **/
    public ServletAPI.MIMETypedStream[] returnType;

    public MethodSignature(
        String methodName, 
        ServletAPI.ParameterDescription[] parameters)
    {
        this.methodName = methodName;
        this.parameters = parameters;
        this.returnType = new ServletAPI.MIMETypedStream[0];
            // Note that returnType is not populated.  It is here
            // to show that each MethodSignature returns an array
            // of MIMETypedStreams.
    }
}