View Javadoc

    1   /* Copyright 2004, 2005 Acegi Technology Pty Limited
    2    *
    3    * Licensed under the Apache License, Version 2.0 (the "License");
    4    * you may not use this file except in compliance with the License.
    5    * You may obtain a copy of the License at
    6    *
    7    *     http://www.apache.org/licenses/LICENSE-2.0
    8    *
    9    * Unless required by applicable law or agreed to in writing, software
    10   * distributed under the License is distributed on an "AS IS" BASIS,
    11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12   * See the License for the specific language governing permissions and
    13   * limitations under the License.
    14   */
    15
    16  package org.acegisecurity.domain.dao;
    17
    18  import org.acegisecurity.domain.PersistableEntity;
    19
    20
    21  /***
    22   * Indicates an implementation capable of evicting {@link
    23   * org.acegisecurity.domain.PersistableEntity}s.
    24   *
    25   * <p>
    26   * Structured as a separate interface (rather than a subclass of
    27   * <code>Dao</code>), as it is not required for all persistence strategies.
    28   * </p>
    29   *
    30   * @author Ben Alex
    31   * @version $Id: EvictionCapable.java,v 1.2 2005/11/17 00:55:47 benalex Exp $
    32   */
    33  public interface EvictionCapable {
    34      //~ Methods ================================================================
    35
    36      /***
    37       * Removes the indicated persistent instance from the DAO's internal
    38       * map/session.
    39       *
    40       * <p>
    41       * If the passed object does not exist in the internal map/session, the
    42       * invocation has no effect.
    43       * </p>
    44       *
    45       * <p>
    46       * May throw an exception if the implementation so desires.
    47       * </p>
    48       *
    49       * @param entity to remove from the internal map/session
    50       */
    51      public void evict(PersistableEntity entity);
    52  }