1 /* 2 * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.accessibility; 27 28 29 import java.util.*; 30 import java.awt.*; 31 import javax.swing.text.*; 32 33 34 /** 35 * Encapsulation of a link, or set of links (e.g. client side imagemap) 36 * in a Hypertext document 37 * 38 * @see Accessible 39 * @see Accessible#getAccessibleContext 40 * @see AccessibleContext 41 * @see AccessibleText 42 * @see AccessibleContext#getAccessibleText 43 * 44 * @author Peter Korn 45 */ 46 public abstract class AccessibleHyperlink implements AccessibleAction { 47 48 /** 49 * Since the document a link is associated with may have 50 * changed, this method returns whether or not this Link is still valid 51 * (with respect to the document it references). 52 * 53 * @return a flag indicating whether this link is still valid with 54 * respect to the AccessibleHypertext it belongs to 55 */ 56 public abstract boolean isValid(); 57 58 /** 59 * Returns the number of accessible actions available in this Link 60 * If there are more than one, the first one is NOT considered the 61 * "default" action of this LINK object (e.g. in an HTML imagemap). 62 * In general, links will have only one AccessibleAction in them. 63 * 64 * @return the zero-based number of Actions in this object 65 */ 66 public abstract int getAccessibleActionCount(); 67 68 /** 69 * Performs the specified Action on the object 70 * 71 * @param i zero-based index of actions 72 * @return true if the action was performed; otherwise false. 73 * @see #getAccessibleActionCount 74 */ 75 public abstract boolean doAccessibleAction(int i); 76 77 /** 78 * Returns a String description of this particular 79 * link action. This should be a text string 80 * associated with anchoring text, this should be the 81 * anchor text. E.g. from HTML: 82 * <a HREF="http://www.sun.com/access">Accessibility</a> 83 * this method would return "Accessibility". 84 * 85 * Similarly, from this HTML: 86 * <a HREF="#top"><img src="top-hat.gif" alt="top hat"></a> 87 * this method would return "top hat" 88 * 89 * @param i zero-based index of the actions 90 * @return a String description of the action 91 * @see #getAccessibleActionCount 92 */ 93 public abstract String getAccessibleActionDescription(int i); 94 95 /** 96 * Returns an object that represents the link action, 97 * as appropriate for that link. E.g. from HTML: 98 * <a HREF="http://www.sun.com/access">Accessibility</a> 99 * this method would return a 100 * java.net.URL("http://www.sun.com/access.html"); 101 * 102 * @param i zero-based index of the actions 103 * @return an Object representing the hypertext link itself 104 * @see #getAccessibleActionCount 105 */ 106 public abstract Object getAccessibleActionObject(int i); 107 108 /** 109 * Returns an object that represents the link anchor, 110 * as appropriate for that link. E.g. from HTML: 111 * <a href="http://www.sun.com/access">Accessibility</a> 112 * this method would return a String containing the text: 113 * "Accessibility". 114 * 115 * Similarly, from this HTML: 116 * <a HREF="#top"><img src="top-hat.gif" alt="top hat"></a> 117 * this might return the object ImageIcon("top-hat.gif", "top hat"); 118 * 119 * @param i zero-based index of the actions 120 * @return an Object representing the hypertext anchor 121 * @see #getAccessibleActionCount 122 */ 123 public abstract Object getAccessibleActionAnchor(int i); 124 125 /** 126 * Gets the index with the hypertext document at which this 127 * link begins 128 * 129 * @return index of start of link 130 */ 131 public abstract int getStartIndex(); 132 133 /** 134 * Gets the index with the hypertext document at which this 135 * link ends 136 * 137 * @return index of end of link 138 */ 139 public abstract int getEndIndex(); 140 }