Class DefaultEnvironment

java.lang.Object
org.apache.shiro.env.DefaultEnvironment
All Implemented Interfaces:
Environment, NamedObjectEnvironment, org.apache.shiro.lang.util.Destroyable
Direct Known Subclasses:
BasicIniEnvironment

public class DefaultEnvironment extends Object implements NamedObjectEnvironment, org.apache.shiro.lang.util.Destroyable
Simple/default Environment implementation that stores Shiro objects as key-value pairs in a Map instance. The key is the object name, the value is the object itself.
Since:
1.2
  • Field Details

  • Constructor Details

  • Method Details

    • getSecurityManager

      Returns the application's SecurityManager instance accessible in the backing map using the securityManagerName property as the lookup key.

      This implementation guarantees that a non-null instance is always returned, as this is expected for Environment API end-users. If subclasses have the need to perform the map lookup without this guarantee (for example, during initialization when the instance may not have been added to the map yet), the lookupSecurityManager() method is provided as an alternative.

      Specified by:
      getSecurityManager in interface Environment
      Returns:
      the application's SecurityManager instance accessible in the backing map using the securityManagerName property as the lookup key.
      Throws:
      IllegalStateException
    • setSecurityManager

      public void setSecurityManager(SecurityManager securityManager)
    • lookupSecurityManager

      Looks up the SecurityManager instance in the backing map without performing any non-null guarantees.
      Returns:
      the SecurityManager in the backing map, or null if it has not yet been populated.
    • getSecurityManagerName

      Returns the name of the SecurityManager instance in the backing map. Used as a key to lookup the instance. Unless set otherwise, the default is securityManager.
      Returns:
      the name of the SecurityManager instance in the backing map. Used as a key to lookup the instance.
    • setSecurityManagerName

      public void setSecurityManagerName(String securityManagerName)
      Sets the name of the SecurityManager instance in the backing map. Used as a key to lookup the instance. Unless set otherwise, the default is securityManager.
      Parameters:
      securityManagerName - the name of the SecurityManager instance in the backing map. Used as a key to lookup the instance. 
    • getObjects

      Returns the live (modifiable) internal objects collection.
      Returns:
      the live (modifiable) internal objects collection.
    • getObject

      public <T> T getObject(String name, Class<T> requiredType) throws RequiredTypeException
      Description copied from interface: NamedObjectEnvironment
      Returns the object in Shiro's environment with the specified name and type or null if no object with that name was found.
      Specified by:
      getObject in interface NamedObjectEnvironment
      Type Parameters:
      T - the type of the class
      Parameters:
      name - the assigned name of the object.
      requiredType - the class to which the discovered object must be assignable.
      Returns:
      the object in Shiro's environment with the specified name (of the specified type) or null if no object with that name was found.
      Throws:
      RequiredTypeException - if the discovered object does not equal, extend, or implement the specified class.
    • setObject

      public void setObject(String name, Object instance)
    • destroy

      public void destroy() throws Exception
      Specified by:
      destroy in interface org.apache.shiro.lang.util.Destroyable
      Throws:
      Exception