view src/org/dancres/blitz/remote/perf/ProxyFactory.java @ 33:0b9265358617

Added tag 2.1.1 for changeset a77f0a9ed93c
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 12 Jun 2010 10:52:10 +0100
parents 3dc0c5604566
children
line wrap: on
line source

package org.dancres.blitz.remote.perf;

import net.jini.id.Uuid;

import net.jini.core.constraint.RemoteMethodControl;

import org.dancres.blitz.lease.SpaceUID;

/**
   This class instantiates appropriate proxy instances of the given types
   based on whether we are running in secure mode or not (secure mode is
   defined to be active when our exported stub reference supports
   RemoteMethodControl which will be the result of config file containing
   an appropriate Exporter setup).
 */
class ProxyFactory {
    private static boolean isSecure(Server aStub) {
        return (aStub instanceof RemoteMethodControl);
    }

    static LeaseImpl newLeaseImpl(Server aStub, Uuid aUuid,
                                  FakeUID aUID, long anExpiration) {
        if (isSecure(aStub))
            return new ConstrainableLeaseImpl(aStub, aUuid, aUID,
                                              anExpiration);
        else
            return new LeaseImpl(aStub, aUuid, aUID, anExpiration);
    }
}