/**
  * @param hooksContext
  * @param preInsertBean
  * @see edu.internet2.middleware.grouper.hooks.AttributeHooks#attributePreInsert(HooksContext,
  *     HooksAttributeBean)
  */
 @Override
 public void attributePreInsert(
     final HooksContext hooksContext, final HooksAttributeBean preInsertBean) {
   if (LOGGER.isDebugEnabled()) {
     LOGGER.debug(
         "preInsert attribute: "
             + preInsertBean.getAttribute().getAttrName()
             + " = '"
             + preInsertBean.getAttribute().getValue()
             + "'");
   }
 }
  /**
   * Handles the fact that a dynamic groups becomes a static group.
   *
   * @param hooksContext The hook context.
   * @param postDeleteBean The available Grouper information.
   */
  @Override
  public void attributePostDelete(
      final HooksContext hooksContext, final HooksAttributeBean postDeleteBean) {

    Attribute attribute = postDeleteBean.getAttribute();

    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug(
          "postDelete attribute: " + attribute.getGroupUuid() + ", " + attribute.getAttrName());
    }
  }
  /**
   * Tests and veto if needed a modification of an attribute that contains the logic definition of a
   * group.
   *
   * @param hooksContext The hook context.
   * @param preUpdateBean The available Grouper information.
   * @see edu.internet2.middleware.grouper.hooks.AttributeHooks#attributePreUpdate(HooksContext,
   *     HooksAttributeBean)
   */
  @Override
  public void attributePreUpdate(
      final HooksContext hooksContext, final HooksAttributeBean preUpdateBean) {

    Attribute attribute = preUpdateBean.getAttribute();

    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug(
          "preUpdate attribute: " + attribute.getAttrName() + ": '" + attribute.getValue() + "'");
    }
  }