/* * @(#)Refreshable.java 1.9 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.security.auth; /** * Objects such as credentials may optionally implement this * interface to provide the capability to refresh itself. * For example, a credential with a particular time-restricted lifespan * may implement this interface to allow callers to refresh the time period * for which it is valid. * * @version 1.9, 12/19/03 * @see javax.security.auth.Subject */ public interface Refreshable { /** * Determine if this Object is current. * *

* * @return true if this Object is currently current, * false otherwise. */ boolean isCurrent(); /** * Update or extend the validity period for this * Object. * *

* * @exception SecurityException if the caller does not have permission * to update or extend the validity period for this * Object.

* * @exception RefreshFailedException if the refresh attempt failed. */ void refresh() throws RefreshFailedException; }