Interface Protectable

All Known Implementing Classes:
AsyncHandler, ConsoleHandler, ExtHandler, FileHandler, LogContext, NullHandler, OutputStreamHandler, PeriodicRotatingFileHandler, PeriodicSizeRotatingFileHandler, QueueHandler, SizeRotatingFileHandler, SyslogHandler, WriterHandler

public interface Protectable
Allows objects to be locked for modification.

When an object is protected, modifications to the object are not allowed. To allow modifications for the object, the enableAccess(Object) or the unprotect(Object) methods must be invoked.

To protect the object after enabling access, invoke the disableAccess() access.

Note that enabling or disabling access only applies to the current thread.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Disable previous access to the object for modifications on the current thread.
    void
    enableAccess(Object protectKey)
    Enable access to the object for modifications on the current thread.
    void
    protect(Object protectionKey)
    Protect this object from modifications.
    void
    unprotect(Object protectionKey)
    Allows the object to be modified if the protectionKey matches the key used to protect the object.
  • Method Details

    • protect

      void protect(Object protectionKey) throws SecurityException
      Protect this object from modifications.
      Parameters:
      protectionKey - the key used to protect the object.
      Throws:
      SecurityException - if the object is already protected.
    • unprotect

      void unprotect(Object protectionKey) throws SecurityException
      Allows the object to be modified if the protectionKey matches the key used to protect the object.
      Parameters:
      protectionKey - the key used to protect the object.
      Throws:
      SecurityException - if the object is protected and the key doesn't match.
    • enableAccess

      void enableAccess(Object protectKey)
      Enable access to the object for modifications on the current thread.
      Parameters:
      protectKey - the key used to protect modifications.
    • disableAccess

      void disableAccess()
      Disable previous access to the object for modifications on the current thread.