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