org.glite.authz.pep.pip
Interface PolicyInformationPoint


public interface PolicyInformationPoint

A PolicyInformationPoint (PIP) gathers information from the current execution environment and populates the subject, environment, and resource information within a Request. It is possible that a PIP is not applicable in all cases. For example an application that accepts both X.509 certificates and Kerberos ticket as authentication methods might have one PIP for dealing with the certificates and another for dealing with the ticket. Therefore a PIP should indicate that it does not apply to a current request by returning false from the populateRequest(Request) method. It should not throw an exception in this case. Some example of what a policy information point may do would be:


Method Summary
 java.lang.String getId()
          Gets a unique identifier for this information point.
 boolean populateRequest(Request request)
          Populates the request with information gathered by this information point.
 void start()
          Stars the PIP.
 void stop()
          Stops the PIP.
 

Method Detail

getId

java.lang.String getId()
Gets a unique identifier for this information point.

Returns:
unique identifier for this information point

populateRequest

boolean populateRequest(Request request)
                        throws PIPProcessingException,
                               java.lang.IllegalStateException
Populates the request with information gathered by this information point.

Parameters:
request - the current request to populate
Returns:
true if this PIP applies to this request, false if not
Throws:
PIPProcessingException - thrown if there is a problem executing this information point
java.lang.IllegalStateException - thrown if this method is called before start() or after stop().

start

void start()
           throws PIPException
Stars the PIP. This is called so that the PIP may initialize itself before its first invocation.

Throws:
PIPException - thrown if there is a problem starting the PIP

stop

void stop()
          throws PIPException
Stops the PIP. This is called so that the PIP may clean up any resource before the service shuts down.

Throws:
PIPException - throw if there is a problem stop the PIP


Copyright © 2008-2012 EMI - European Middleware Initiative. All Rights Reserved.