001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: /**
019: * @author Dennis Ushakov
020: * @version $Revision$
021: */package javax.accessibility;
022:
023: import java.awt.IllegalComponentStateException;
024: import java.beans.PropertyChangeListener;
025: import java.util.Locale;
026:
027: import javax.swing.event.SwingPropertyChangeSupport;
028:
029: public abstract class AccessibleContext {
030: public static final String ACCESSIBLE_NAME_PROPERTY = "AccessibleName"; //$NON-NLS-1$
031: public static final String ACCESSIBLE_DESCRIPTION_PROPERTY = "AccessibleDescription"; //$NON-NLS-1$
032: public static final String ACCESSIBLE_STATE_PROPERTY = "AccessibleState"; //$NON-NLS-1$
033: public static final String ACCESSIBLE_VALUE_PROPERTY = "AccessibleValue"; //$NON-NLS-1$
034: public static final String ACCESSIBLE_SELECTION_PROPERTY = "AccessibleSelection"; //$NON-NLS-1$
035: public static final String ACCESSIBLE_CARET_PROPERTY = "AccessibleCaret"; //$NON-NLS-1$
036: public static final String ACCESSIBLE_VISIBLE_DATA_PROPERTY = "AccessibleVisibleData"; //$NON-NLS-1$
037: public static final String ACCESSIBLE_CHILD_PROPERTY = "AccessibleChild"; //$NON-NLS-1$
038: public static final String ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY = "AccessibleActiveDescendant"; //$NON-NLS-1$
039: public static final String ACCESSIBLE_TABLE_CAPTION_CHANGED = "accessibleTableCaptionChanged"; //$NON-NLS-1$
040: public static final String ACCESSIBLE_TABLE_SUMMARY_CHANGED = "accessibleTableSummaryChanged"; //$NON-NLS-1$
041: public static final String ACCESSIBLE_TABLE_MODEL_CHANGED = "accessibleTableModelChanged"; //$NON-NLS-1$
042: public static final String ACCESSIBLE_TABLE_ROW_HEADER_CHANGED = "accessibleTableRowHeaderChanged"; //$NON-NLS-1$
043: public static final String ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED = "accessibleTableRowDescriptionChanged"; //$NON-NLS-1$
044: public static final String ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED = "accessibleTableColumnHeaderChanged"; //$NON-NLS-1$
045: public static final String ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED = "accessibleTableColumnDescriptionChanged"; //$NON-NLS-1$
046: public static final String ACCESSIBLE_ACTION_PROPERTY = "accessibleActionProperty"; //$NON-NLS-1$
047: public static final String ACCESSIBLE_HYPERTEXT_OFFSET = "AccessibleHypertextOffset"; //$NON-NLS-1$
048: public static final String ACCESSIBLE_TEXT_PROPERTY = "AccessibleText"; //$NON-NLS-1$
049: public static final String ACCESSIBLE_INVALIDATE_CHILDREN = "accessibleInvalidateChildren"; //$NON-NLS-1$
050: public static final String ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED = "accessibleTextAttributesChanged"; //$NON-NLS-1$
051: public static final String ACCESSIBLE_COMPONENT_BOUNDS_CHANGED = "accessibleComponentBoundsChanged"; //$NON-NLS-1$
052:
053: protected Accessible accessibleParent;
054: protected String accessibleName;
055: protected String accessibleDescription;
056:
057: private AccessibleRelationSet accessibleRelationSet;
058: private final SwingPropertyChangeSupport propertyChangeSupport = new SwingPropertyChangeSupport(
059: this );
060:
061: public String getAccessibleName() {
062: return accessibleName;
063: }
064:
065: public void setAccessibleName(final String s) {
066: String old = accessibleName;
067: accessibleName = s;
068: firePropertyChange(ACCESSIBLE_NAME_PROPERTY, old,
069: accessibleName);
070: }
071:
072: public String getAccessibleDescription() {
073: return accessibleDescription;
074: }
075:
076: public void setAccessibleDescription(final String s) {
077: String old = accessibleDescription;
078: accessibleDescription = s;
079: firePropertyChange(ACCESSIBLE_DESCRIPTION_PROPERTY, old,
080: accessibleDescription);
081: }
082:
083: public Accessible getAccessibleParent() {
084: return accessibleParent;
085: }
086:
087: public void setAccessibleParent(final Accessible a) {
088: accessibleParent = a;
089: }
090:
091: public void addPropertyChangeListener(
092: final PropertyChangeListener listener) {
093: propertyChangeSupport.addPropertyChangeListener(listener);
094: }
095:
096: public void removePropertyChangeListener(
097: final PropertyChangeListener listener) {
098: propertyChangeSupport.removePropertyChangeListener(listener);
099: }
100:
101: public AccessibleAction getAccessibleAction() {
102: return null;
103: }
104:
105: public AccessibleComponent getAccessibleComponent() {
106: return null;
107: }
108:
109: public AccessibleSelection getAccessibleSelection() {
110: return null;
111: }
112:
113: public AccessibleText getAccessibleText() {
114: return null;
115: }
116:
117: public AccessibleEditableText getAccessibleEditableText() {
118: return null;
119: }
120:
121: public AccessibleValue getAccessibleValue() {
122: return null;
123: }
124:
125: public AccessibleIcon[] getAccessibleIcon() {
126: return null;
127: }
128:
129: public AccessibleRelationSet getAccessibleRelationSet() {
130: if (accessibleRelationSet == null) {
131: accessibleRelationSet = new AccessibleRelationSet();
132: }
133: return accessibleRelationSet;
134: }
135:
136: public AccessibleTable getAccessibleTable() {
137: return null;
138: }
139:
140: public void firePropertyChange(final String propertyName,
141: final Object oldValue, final Object newValue) {
142:
143: propertyChangeSupport.firePropertyChange(propertyName,
144: oldValue, newValue);
145: }
146:
147: public abstract AccessibleRole getAccessibleRole();
148:
149: public abstract AccessibleStateSet getAccessibleStateSet();
150:
151: public abstract int getAccessibleIndexInParent();
152:
153: public abstract int getAccessibleChildrenCount();
154:
155: public abstract Accessible getAccessibleChild(int i);
156:
157: public abstract Locale getLocale()
158: throws IllegalComponentStateException;
159: }
|