Servlet API  for RAP version 1.2.1
Last Updated - 04/06/00
 NRD
package ServletAPI    
  - new package name:  was Servlet.Interface
 
All RAP Servlets should implement this interfaces: 
  - Servlet.java
    
changes from RAP 1.1
      - was ServletInterface.java
 
      - no longer inherits from SignatureGenerator interface
 
      - added GetTypeSignatureID() method
 
      - GetServletDescriptor() instead of GetServletDescription() to match new IDL
 
      - SetDataStream() returns void instead of boolean
 
      - added throws clauses to method declarations
 
      - addition of GetValidResultType() method
 
    
   
All RAP SignatureGenerators should implement this interfaces:
  - SignatureGenerator.java
    
changes from RAP 1.1
      - was SignatureInterface.java
 
      - method names changed to match new IDL
 
      - added throws clauses to method declarations
 
    
   
These are the supporting classes for the RAP Servlet API: 
Additional Info on some changes:
  - AttachmentRoleSpec: "requiredIndicator" instead of
    "optionalIndicator". We feel the intuitive question is "is it
    required?" not "is it optional?". The latter means you have to reason
    through a double negative to determine whether or not you must attach a DataStream.
 
  - we moved the list of returnMIMEtypes from the MethodSignature to a method in the Servlet
    interface (with a MethodSignature as a parameter so you get this info per implemented
    method). We can see that a client or user might want to know whether a RAP Dissemination
    will/can produce results of a particular MIME type, without actually performing the
    Dissemination. However, it seems wrong to have each MethodSignature indicate the possible
    MIME types that would be returned, as this could a) cause a proliferation of
    TypeSignatures that are the same except for return types and b) cause quicker obsolescence
    of TypeSignatures due to obsolescence of MIME types. It also seems wrong for the
    SignatureGenerator to indicate possible return types per method for the same reasons: this
    would still associate the return types for each method with the TypeSignature. Since a
    Servlet is an implementation of a TypeSignature, it seems more sensible to try to
    specify this information in the Servlet: the potential return types pertain to the implementation
    of each MethodSignature. This further makes sense as return types may be dependent on the
    MIME of the Attached DataStreams, and that is specified in the Servlet attachment
    specification. Have we overlooked something?