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?