com.objectwave.transactSecurity
Class AccessSecurityManager

java.lang.Object
  |
  +--com.objectwave.transactSecurity.AccessSecurityManager
All Implemented Interfaces:
AccessSecurityIF

public class AccessSecurityManager
extends java.lang.Object
implements AccessSecurityIF

Used to provide security on every business object access. This class hooks into the com.objectwave.transactionalSupport.ObjectEditor. Works like this. - Create instance of this. - addObjectAccessListener to listen for activity on all objects. - addClassObjectAccessListener to listen for activity that are instances of a particular class. When an access occurs, all appropriate listeners will be notified.

Version:
$Id: AccessSecurityManager.java,v 2.0 2001/06/11 16:00:04 dave_hoag Exp $
Author:
Dave Hoag
See Also:
ObjectEditor

Constructor Summary
AccessSecurityManager()
           
 
Method Summary
 void addClassObjectAccessListener(ObjectAccessListener list, java.lang.Class type)
          Add a listener for access to instances of 'type'.
 void addObjectAccessListener(ObjectAccessListener list)
          Add a listener for each and every object access.
 void checkReadAccess(java.lang.Object obj, java.lang.reflect.Field f)
          Being notified from the that someone wants to get values from the provide parameter.
 void checkWriteAccess(java.lang.Object obj, java.lang.reflect.Field f)
          Being notified from the that someone wants to set values on the provide parameter.
 void fireObjectAccessEvent(ObjectAccessEvent alert)
          Notify all listeners of an ObjectAccessEvent.
static void main(java.lang.String[] args)
          Test Routine
 void removeObjectAccessListener(ObjectAccessListener list)
          Remove a listener for each and every object access.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccessSecurityManager

public AccessSecurityManager()
Method Detail

main

public static void main(java.lang.String[] args)
Test Routine

Parameters:
args - The command line arguments

addClassObjectAccessListener

public void addClassObjectAccessListener(ObjectAccessListener list,
                                         java.lang.Class type)
Add a listener for access to instances of 'type'.

Parameters:
list - The feature to be added to the ClassObjectAccessListener attribute
type - The feature to be added to the ClassObjectAccessListener attribute

addObjectAccessListener

public void addObjectAccessListener(ObjectAccessListener list)
Add a listener for each and every object access.

Parameters:
list - The feature to be added to the ObjectAccessListener attribute

checkReadAccess

public void checkReadAccess(java.lang.Object obj,
                            java.lang.reflect.Field f)
                     throws java.lang.SecurityException
Being notified from the that someone wants to get values from the provide parameter.

Specified by:
checkReadAccess in interface AccessSecurityIF
Parameters:
obj -
f -
Throws:
java.lang.SecurityException

checkWriteAccess

public void checkWriteAccess(java.lang.Object obj,
                             java.lang.reflect.Field f)
                      throws java.lang.SecurityException
Being notified from the that someone wants to set values on the provide parameter. Great pains are made to avoid creating any objects we won't ultimately need.

Specified by:
checkWriteAccess in interface AccessSecurityIF
Parameters:
obj -
f -
Throws:
java.lang.SecurityException

fireObjectAccessEvent

public void fireObjectAccessEvent(ObjectAccessEvent alert)
Notify all listeners of an ObjectAccessEvent.

Parameters:
alert -

removeObjectAccessListener

public void removeObjectAccessListener(ObjectAccessListener list)
Remove a listener for each and every object access.

Parameters:
list -