Defines an interface for checking that an object (that is not yet known to be trusted) is equivalent in trust, content, and function to a known trusted object. This interface can be useful in implementing a {@link net.jini.security.TrustVerifier} returned by{@link ProxyTrust#getProxyVerifier ProxyTrust.getProxyVerifier}.
An implementation of this interface must always compare components of the two objects by invoking comparison methods (such as equals
or {@link #checkTrustEquivalence checkTrustEquivalence}) on components of the known trusted object, and those comparison methods must in turn compare subcomponents in the same fashion, always invoking comparison methods on components of this
.
For example, in the case of a smart proxy wrapped around an inner proxy, where the inner proxy results from exporting a remote object, the inner proxy could be required to be an instance of a class that implements this interface. The verifier could contain a canonical instance of the inner proxy, and use its checkTrustEquivalence
method to check that a candidate smart proxy contains the correct inner proxy.
@author Sun Microsystems, Inc.
@since 2.0