/* * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package javax.accessibility; import java.util.*; import java.awt.*; import javax.swing.text.*; /** * Encapsulation of a link, or set of links (e.g. client side imagemap) * in a Hypertext document * * @see Accessible * @see Accessible#getAccessibleContext * @see AccessibleContext * @see AccessibleText * @see AccessibleContext#getAccessibleText * * @author Peter Korn */ public abstract class AccessibleHyperlink implements AccessibleAction { /** * Since the document a link is associated with may have * changed, this method returns whether or not this Link is still valid * (with respect to the document it references). * * @return a flag indicating whether this link is still valid with * respect to the AccessibleHypertext it belongs to */ public abstract boolean isValid(); /** * Returns the number of accessible actions available in this Link * If there are more than one, the first one is NOT considered the * "default" action of this LINK object (e.g. in an HTML imagemap). * In general, links will have only one AccessibleAction in them. * * @return the zero-based number of Actions in this object */ public abstract int getAccessibleActionCount(); /** * Performs the specified Action on the object * * @param i zero-based index of actions * @return true if the action was performed; otherwise false. * @see #getAccessibleActionCount */ public abstract boolean doAccessibleAction(int i); /** * Returns a String description of this particular * link action. This should be a text string * associated with anchoring text, this should be the * anchor text. E.g. from HTML: * <a HREF="http://www.sun.com/access">Accessibility</a> * this method would return "Accessibility". * * Similarly, from this HTML: * <a HREF="#top"><img src="top-hat.gif" alt="top hat"></a> * this method would return "top hat" * * @param i zero-based index of the actions * @return a String description of the action * @see #getAccessibleActionCount */ public abstract String getAccessibleActionDescription(int i); /** * Returns an object that represents the link action, * as appropriate for that link. E.g. from HTML: * <a HREF="http://www.sun.com/access">Accessibility</a> * this method would return a * java.net.URL("http://www.oracle.com/us/sun/index.htm"); * * @param i zero-based index of the actions * @return an Object representing the hypertext link itself * @see #getAccessibleActionCount */ public abstract Object getAccessibleActionObject(int i); /** * Returns an object that represents the link anchor, * as appropriate for that link. E.g. from HTML: * <a href="http://www.sun.com/access">Accessibility</a> * this method would return a String containing the text: * "Accessibility". * * Similarly, from this HTML: * <a HREF="#top"><img src="top-hat.gif" alt="top hat"></a> * this might return the object ImageIcon("top-hat.gif", "top hat"); * * @param i zero-based index of the actions * @return an Object representing the hypertext anchor * @see #getAccessibleActionCount */ public abstract Object getAccessibleActionAnchor(int i); /** * Gets the index with the hypertext document at which this * link begins * * @return index of start of link */ public abstract int getStartIndex(); /** * Gets the index with the hypertext document at which this * link ends * * @return index of end of link */ public abstract int getEndIndex(); }