Constructs a new empty TabularDataSupport with the
specified type and the supplied initial capacity and load factor
being used for the underlying HashMap.
Constructs a new empty TabularDataSupport with the
specified type. The type may not be null. This constructor
simply calls the other, with the default initial capacity of
101 and default load factor of 0.75.
Parameters:
type - the tabular type of this tabular data instance.
Constructs a new empty TabularDataSupport with the
specified type and the supplied initial capacity and load factor
being used for the underlying HashMap. The
type may not be null and the initial capacity and load factor
must be positive.
Parameters:
type - the tabular type of this tabular data instance.
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
selected 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.
Returns true iff this instance of the TabularData class
contains a CompositeData value at the specified index.
The method returns false if the given key can
not be cast to an Object array; otherwise
it returns the result of containsKey(Object[]).
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.
Returns true iff this instance of the TabularData class
contains the specified CompositeData value. If the given
value is not an instance of CompositeData, this method
simply returns false.
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.
Returns a set view of the mappings in this Map. Each element in the
set is a Map.Entry. The set is backed by the map, so that changes in
one show up in the other. Modifications made while an iterator is
in progress cause undefined behavior. If the set supports removal,
these methods remove the underlying mapping from the map:
Iterator.remove, Set.remove,
removeAll, retainAll, and clear.
Element addition, via add or addAll, is
not supported via this set.
Note: using the
java.util.Map.Entry#setValue(Object) will cause corruption of
the index to row mappings.
@return the set view of all mapping entries
@see java.util.Map.Entry
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.
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.
Returns a set view of the keys in this Map. The set is backed by the
map, so that changes in one show up in the other. Modifications made
while an iterator is in progress cause undefined behavior. If the set
supports removal, these methods remove the underlying mapping from
the map: Iterator.remove, Set.remove,
removeAll, retainAll, and clear.
Element addition, via add or addAll, is
not supported via this set.
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.
Converts each value from the specified map to a member of an
array of CompositeData values and adds them using put(CompositeData[]), if possible. As in put(Object,Object), the keys are simply ignored. This method
is useful for adding the CompositeData values from a
different TabularData instance, which uses the same
TabularType but a different selection of index names, to
this one. If the map is null or empty, the method
simply returns.
Parameters:
m - the map to add. Only the values are used and must
all be instances of CompositeData.
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.
Removes the CompositeData value located at the
specified index. null is returned if the
value does not exist. Otherwise, the removed value is
returned.
Returns a textual representation of this instance. This
is constructed using the class name
(javax.management.openmbean.TabularDataSupport)
and the result of calling toString() on the
tabular type and underlying hash map instance.
Returns a collection (or bag) view of the values in this Map. The
collection is backed by the map, so that changes in one show up in
the other. Modifications made while an iterator is in progress cause
undefined behavior. If the collection supports removal, these methods
remove the underlying mapping from the map: Iterator.remove,
Collection.remove, removeAll,
retainAll, and clear. Element addition, via
add or addAll, is not supported via this
collection.
TabularDataSupport.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.