org.edg.security.voms.service.history
Interface VOMSHistory

All Superinterfaces:
java.rmi.Remote

public interface VOMSHistory
extends java.rmi.Remote

Virtual Organisation Membership Service History interface. This service provides methods for "back-in-time" queries, which could describe the context of a situation based on the state of the database at a given transaction.

Version:
$Id: VOMSHistory.java,v 1.9 2003/08/01 16:04:26 szamcsi Exp $
Author:
Akos Frohner, Karoly Lorentey

Method Summary
 ACLEntry[] getACL(java.lang.String container, long transaction)
          Get the ACL for a container at a given transaction.
 ACLEntry[] getDefaultACL(java.lang.String groupname, long transaction)
          Get the default ACL for a group at a given transaction.
 int getMajorVersionNumber()
          Returns the major version number.
 int getMinorVersionNumber()
          Returns the minor version number.
 java.lang.String getModificationsSince(long transaction)
          Returns the database modifications as a HUGE XML document since the marked transaction.
 int getPatchVersionNumber()
          Returns the patch version number.
 User[] listMembers(java.lang.String container, long transaction)
          List members of a container at a given transaction.
 java.util.Calendar toTime(long transaction)
          Converts a transaction number to time-mark.
 long toTransaction(java.util.Calendar time)
          Converts a time-mark to transaction number.
 

Method Detail

toTransaction

public long toTransaction(java.util.Calendar time)
                   throws java.rmi.RemoteException
Converts a time-mark to transaction number.

Parameters:
time - time-mark
Returns:
transaction number
java.rmi.RemoteException

toTime

public java.util.Calendar toTime(long transaction)
                          throws java.rmi.RemoteException
Converts a transaction number to time-mark. The time-marks are not recorded for every transaction, so the method will return the closest, earlierst time-mark.

Parameters:
transaction - transaction number
Returns:
time-mark
java.rmi.RemoteException

getModificationsSince

public java.lang.String getModificationsSince(long transaction)
                                       throws java.rmi.RemoteException
Returns the database modifications as a HUGE XML document since the marked transaction. The purpose of this function is to allow slave replicas for requesting incremental updates.

Parameters:
transaction - the last known transaction
Returns:
XML document with all modifications
java.rmi.RemoteException

listMembers

public User[] listMembers(java.lang.String container,
                          long transaction)
                   throws java.rmi.RemoteException
List members of a container at a given transaction.

Parameters:
container - the tested container's name
transaction - transaction number
Returns:
members of the container
java.rmi.RemoteException
See Also:
VOMSAdmin.listMembers(java.lang.String)

getACL

public ACLEntry[] getACL(java.lang.String container,
                         long transaction)
                  throws java.rmi.RemoteException
Get the ACL for a container at a given transaction.

Parameters:
container - the tested container's name
transaction - transaction number
Returns:
ACL
java.rmi.RemoteException
See Also:
VOMSAdmin.getACL(java.lang.String)

getDefaultACL

public ACLEntry[] getDefaultACL(java.lang.String groupname,
                                long transaction)
                         throws java.rmi.RemoteException
Get the default ACL for a group at a given transaction.

Parameters:
groupname - the tested group's name
transaction - transaction number
Returns:
ACL
java.rmi.RemoteException
See Also:
VOMSAdmin.getDefaultACL(java.lang.String)

getMajorVersionNumber

public int getMajorVersionNumber()
                          throws java.rmi.RemoteException
Returns the major version number.

java.rmi.RemoteException

getMinorVersionNumber

public int getMinorVersionNumber()
                          throws java.rmi.RemoteException
Returns the minor version number.

java.rmi.RemoteException

getPatchVersionNumber

public int getPatchVersionNumber()
                          throws java.rmi.RemoteException
Returns the patch version number.

java.rmi.RemoteException