javax.accessibility

Class AccessibleRelationSet


public class AccessibleRelationSet
extends Object

Describes all relations of an accessible object. For example, an object by labeled by one object and control another.
Since:
1.2
See Also:
AccessibleRelation

Field Summary

protected Vector
relations
The list of relations, should be instances of AccessibleRelation.

Constructor Summary

AccessibleRelationSet()
Create an empty relation set.
AccessibleRelationSet(AccessibleRelation[] relations)
Create a relation set initialized with the given relations, duplicates are ignored.

Method Summary

boolean
add(AccessibleRelation relation)
Add a new relation to the current set.
void
addAll(AccessibleRelation[] array)
Add all of the relations to the current set.
void
clear()
Clear all relations in the set.
boolean
contains(String key)
Check if the relation key is in the set.
AccessibleRelation
get(String key)
Get the relation that matches the key.
boolean
remove(AccessibleRelation relation)
Remove a relation from the set.
int
size()
Return the number of relations in the set.
AccessibleRelation[]
toArray()
Return the relation set as an array.
String
toString()
Return a localized, comma-separated string representing all relations in the set.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

relations

protected Vector relations
The list of relations, should be instances of AccessibleRelation. Don't set this to null.

Constructor Details

AccessibleRelationSet

public AccessibleRelationSet()
Create an empty relation set.

AccessibleRelationSet

public AccessibleRelationSet(AccessibleRelation[] relations)
Create a relation set initialized with the given relations, duplicates are ignored.
Parameters:
relations - the relations to insert
Throws:
NullPointerException - if relations is null

Method Details

add

public boolean add(AccessibleRelation relation)
Add a new relation to the current set. If the relation is already in the set, the targets are merged with the existing relation, possibly resulting in an object being in the target list more than once. Do not add a relation with a null key, as it will cause problems later.
Parameters:
relation - the relation to add
Returns:
true if the set was modified, which is always the case
Throws:
NullPointerException - if relation is null

addAll

public void addAll(AccessibleRelation[] array)
Add all of the relations to the current set. Duplicates are ignored.
Parameters:
array - the array of relations to add
Throws:
NullPointerException - if array is null or has null entries

clear

public void clear()
Clear all relations in the set.

contains

public boolean contains(String key)
Check if the relation key is in the set.
Parameters:
key - the relation to locate
Returns:
true if it is in the set

get

public AccessibleRelation get(String key)
Get the relation that matches the key.
Parameters:
key - the relation to locate
Returns:
the relation in the set, or null

remove

public boolean remove(AccessibleRelation relation)
Remove a relation from the set. If a relation was removed, return true. Note that this uses AccessibleRelation.equals, which defaults to ==, so a relation with the same key may still exist in the set afterwords.
Parameters:
relation - the state to remove
Returns:
true if the set changed

size

public int size()
Return the number of relations in the set.
Returns:
the set size

toArray

public AccessibleRelation[] toArray()
Return the relation set as an array.
Returns:
an array of the current relations

toString

public String toString()
Return a localized, comma-separated string representing all relations in the set. This is in arbitrary order.
Overrides:
toString in interface Object
Returns:
the string representation

AccessibleRelationSet.java -- the combined relations of an accessible object Copyright (C) 2002, 2005 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.