com.sun.jini.landlord
Class LandlordProxyVerifier

java.lang.Object
  extended by com.sun.jini.landlord.LandlordProxyVerifier
All Implemented Interfaces:
Serializable, TrustVerifier

public final class LandlordProxyVerifier
extends Object
implements Serializable, TrustVerifier

This class defines a trust verifier for the proxies defined in the landlord package.

Since:
2.0
Author:
Sun Microsystems, Inc.
See Also:
TrustVerifier, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface net.jini.security.TrustVerifier
TrustVerifier.Context
 
Field Summary
private  RemoteMethodControl landlord
          The canonical instance of the server reference.
private  Uuid landlordUuid
          The Uuid associated landlord.
private static long serialVersionUID
           
 
Constructor Summary
LandlordProxyVerifier(Landlord landlord, Uuid landlordUuid)
          Returns a verifier for the proxies defined in the landlord package with the specified server reference and server Uuid.
 
Method Summary
 boolean isTrustedObject(Object obj, TrustVerifier.Context ctx)
          Returns true if the specified proxy object (that is not yet known to be trusted) is equivalent in trust, content, and function to the canonical server reference this object was constructed with; otherwise returns false.
private  void readObject(ObjectInputStream in)
          Verifies that the server reference implements TrustEquivalence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

landlord

private final RemoteMethodControl landlord
The canonical instance of the server reference. This instance will be used by the isTrusted method as the known trusted object used to determine whether or not a given proxy is equivalent in trust, content, and function.


landlordUuid

private final Uuid landlordUuid
The Uuid associated landlord.

Constructor Detail

LandlordProxyVerifier

public LandlordProxyVerifier(Landlord landlord,
                             Uuid landlordUuid)
Returns a verifier for the proxies defined in the landlord package with the specified server reference and server Uuid.

Parameters:
landlord - the reference to the Landlord being used by the leases for communication back to the server.
landlordUuid - a universally unique id that has been assigned to the server granting of the lease. Ideally the Uuid landlord.getUuid would return if landlord implemented ReferentUuid. Used to determine when two leases can be batched together.
Throws:
UnsupportedOperationException - if landlord does not implement both RemoteMethodControl and TrustEquivalence
NullPointerException - if either argument is null.
Method Detail

isTrustedObject

public boolean isTrustedObject(Object obj,
                               TrustVerifier.Context ctx)
                        throws RemoteException
Returns true if the specified proxy object (that is not yet known to be trusted) is equivalent in trust, content, and function to the canonical server reference this object was constructed with; otherwise returns false.

Specified by:
isTrustedObject in interface TrustVerifier
Parameters:
obj - proxy object that will be compared to this class's stored canonical proxy to determine whether or not the given proxy object is equivalent in trust, content, and function.
ctx - the trust verifier context, to aid in verification of the specified object and its components
Returns:
true if the specified object (that is not yet known to be trusted) is equivalent in trust, content, and function to the canonical inner proxy object referenced in this class; otherwise returns false.
Throws:
NullPointerException - if any argument is null
RemoteException - if a communication-related exception occurs

readObject

private void readObject(ObjectInputStream in)
                 throws IOException,
                        ClassNotFoundException
Verifies that the server reference implements TrustEquivalence.

Throws:
IOException
ClassNotFoundException


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