javax.management.openmbean
Interface TabularData
- TabularDataSupport
Provides an interface to a specific type of composite
data structure, where keys (the columns) map to the
CompositeData
objects that form the rows of
the table.
calculateIndex
public Object[] calculateIndex(CompositeData val)
Calculates the index the specified
CompositeData
value
would have, if it was to be added to this
TabularData
instance. This method includes a check that the type of the
given value is the same as the row type of this instance, but not
a check for existing instances of the given value. The value
must also not be
null
. Possible indices are
returned by the
TabularType.getIndexNames()
method of
this instance's tabular type. The returned indices are the
values of the fields in the supplied
CompositeData
instance that match the names given in the
TabularType
.
- the index the value would take on, if it were to be added.
containsKey
public boolean containsKey(Object[] key)
Returns true iff this instance of the
TabularData
class
contains a
CompositeData
value at the specified index.
In any other circumstance, including if the given key
is
null
or of the incorrect type, according to
the
TabularType
of this instance, this method returns
false.
key
- the key to test for.
containsValue
public boolean containsValue(CompositeData val)
Returns true iff this instance of the
TabularData
class
contains the specified
CompositeData
value.
In any other circumstance, including if the given value
is
null
or of the incorrect type, according to
the
TabularType
of this instance, this method returns
false.
val
- the value to test for.
- true if the value exists.
equals
public boolean equals(Object obj)
Compares the specified object with this object for equality.
The object is judged equivalent if it is non-null, and also
an instance of
TabularData
with the same row type,
and
CompositeData
values. The two compared instances may
be equivalent even if they represent different implementations
of
TabularData
.
- equals in interface Object
obj
- the object to compare for equality.
- true if
obj
is equal to this
.
get
public CompositeData get(Object[] key)
Retrieves the
CompositeData
value for the specified
key, or
null
if no such mapping exists.
key
- the key whose value should be returned.
hashCode
public int hashCode()
Returns the hash code of the composite data type. This is
computed as the sum of the hash codes of each value, together
with the hash code of the tabular type. These are the same
elements of the type that are compared as part of the
equals(Object)
method, thus ensuring that the
hashcode is compatible with the equality test.
- hashCode in interface Object
- the hash code of this instance.
isEmpty
public boolean isEmpty()
- true if the instance is devoid of rows.
keySet
public Set> keySet()
Returns a
Set
view of the keys or
indices of this
TabularData
instance.
- a set containing the keys of this instance.
put
public void put(CompositeData val)
Adds the specified
CompositeData
value to the
table. The value must be non-null, of the same type
as the row type of this instance, and must not have
the same index as an existing value. The index is
calculated using the index names of the
TabularType
for this instance.
putAll
public void putAll(CompositeData[] vals)
Adds each of the specified
CompositeData
values
to the table. Each element of the array must meet the
conditions given for the
put(CompositeData)
method. In addition, the index of each value in the
array must be distinct from the index of the other
values in the array, as well as from the existing values
in the table. The operation should be atomic; if one
value can not be added, then none of the values should
be. If the array is
null
or empty, the
method simply returns.
remove
public CompositeData remove(Object[] key)
Removes the
CompositeData
value located at the
specified index.
null
is returned if the
value does not exist. Otherwise, the removed value is
returned.
key
- the key of the value to remove.
- the removed value, or
null
if
there is no value for the given key.
size
public int size()
- the number of rows in the table.
toString
public String toString()
Returns a textual representation of this instance. The
exact format is left up to the implementation, but it
should contain the name of the implementing class and
the tabular type.
- toString in interface Object
- a
String
representation of the
object.
values
public Collection> values()
Returns the values associated with this instance.
- the values of this instance.
TabularData.java -- Tables of composite data structures.
Copyright (C) 2006, 2007 Free Software Foundation, Inc.
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.