Class UserRight

All Implemented Interfaces:
Serializable, Comparable

public class UserRight extends GeneratedUserRight
This class defines a right which can be assigned to Principals and Items. A right itself has not much functionality but stores only the informations upon this right.

Conventions for item access rights:
To model access rights on items, it is recommended to follow the pattern of defining a code prefix for an item group, such as "product", and creating user rights for each combination of this code prefix with the code suffixes ".read", ".change", ".create", ".remove", ".commit", and ".changerights".

See Also:
  • Constructor Details

    • UserRight

      public UserRight()
  • Method Details

    • createItem

      protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
      Description copied from class: Item
      Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) during ComposedType.newInstance(Map).

      In case this method uses any of the attribute values during creation it is required to override Item.getNonInitialAttributes(SessionContext, ItemAttributeMap) too.
      Sn example:

      
       public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext
       ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return
       man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) );
       // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes(
       SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret =
       super.getNonInitialAttributes( ctx, allAttributes );
       // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
      
       
      Overrides:
      createItem in class GenericItem
      Parameters:
      ctx - the current session context which this item is created within
      type - the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )
      Returns:
      the new item instance
      Throws:
      JaloBusinessException - indicates an error during creation - any changes will be rollbacked
    • setCode

      public void setCode(SessionContext ctx, String value) throws ConsistencyCheckException
      Sets the code of this right. This is a unique identifier (apart from its PK) which can be used for easier handling of rights. Please take note of the naming convention presented in the class documentation.
      Overrides:
      setCode in class GeneratedUserRight
      value - the code
      Throws:
      ConsistencyCheckException
    • consistencyCheck

      protected void consistencyCheck(String code) throws ConsistencyCheckException
      Throws:
      ConsistencyCheckException
    • remove

      public void remove(SessionContext ctx) throws ConsistencyCheckException
      Description copied from class: Item
      Removes this item.

      This method is using the following attributes of the given SessionContext:

      CacheUsage   Language   StagingMethod
      n/a (this is a setter method)   no, language doesn't matter for removal   yes if called on a StageableItem, no otherwise


      Overrides:
      remove in class Item
      Parameters:
      ctx - A SessionContext object
      Throws:
      ConsistencyCheckException - if this item could not be removed for some reason