net.jini.jeri
Interface ServerCapabilities

All Known Subinterfaces:
ServerEndpoint
All Known Implementing Classes:
HttpServerEndpoint, HttpsServerEndpoint, KerberosServerEndpoint, SslServerEndpoint, TcpServerEndpoint

public interface ServerCapabilities

Represents the constraint support capabilities of a server-side transport layer implementation.

The checkConstraints method is intended to be used by an InvocationDispatcher to verify support for constraints.

Since:
2.0
Author:
Sun Microsystems, Inc.

Method Summary
 InvocationConstraints checkConstraints(InvocationConstraints constraints)
          Verifies that this instance supports the transport layer aspects of all of the specified requirements (both in general and in the current security context), and returns the requirements that must be at least partially implemented by higher layers in order to fully satisfy all of the specified requirements.
 

Method Detail

checkConstraints

InvocationConstraints checkConstraints(InvocationConstraints constraints)
                                       throws UnsupportedConstraintException
Verifies that this instance supports the transport layer aspects of all of the specified requirements (both in general and in the current security context), and returns the requirements that must be at least partially implemented by higher layers in order to fully satisfy all of the specified requirements. This method may also return preferences that must be at least partially implemented by higher layers in order to fully satisfy some of the specified preferences.

For any given constraint, there must be a clear delineation of which aspects (if any) must be implemented by the transport layer. This method must not return a constraint (as a requirement or a preference, directly or as an element of another constraint) unless this instance can implement all of those aspects. Also, this method must not return a constraint for which all aspects must be implemented by the transport layer. Most of the constraints in the net.jini.core.constraint package must be fully implemented by the transport layer and thus must not be returned by this method; the one exception is Integrity, for which the transport layer is responsible for the data integrity aspect and higher layers are responsible for the code integrity aspect.

For any ConstraintAlternatives in the specified constraints, this method should only return a corresponding constraint if all of the alternatives supported by this instance need to be at least partially implemented by higher layers in order to be fully satisfied.

The constraints passed to this method may include constraints based on relative time.

Parameters:
constraints - the constraints that must be supported
Returns:
the constraints that must be at least partially implemented by higher layers
Throws:
UnsupportedConstraintException - if the transport layer aspects of any of the specified requirements are not supported by this instance (either in general or in the current security context)
SecurityException - if the current security context does not have the permissions necessary to perform this operation
NullPointerException - if constraints is null


Copyright 2007, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.