|
PCJ API Version 1.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectbak.pcj.AbstractDoubleCollection
bak.pcj.set.AbstractDoubleSet
bak.pcj.adapter.SetToDoubleSetAdapter
This class represents adaptions of Java Collections Framework sets to primitive sets of double values. The adapter is implemented as a wrapper around the set. Thus, changes to the underlying set are reflected by this set and vice versa.
Adapters from JCF collections to primitive collections will fail if the JCF collection contains null values or values of the wrong class. However, adapters are not fast failing in the case that the underlying collection should contain illegal values. To implement fast failure would require every operation to check every element of the underlying collection before doing anything. Instead validation methods are provided. They can be called using the assertion facility in the client code:
SetToDoubleSetAdapter s;
...
assert s.validate();
or by letting the adapter throw an exception on illegal values:
SetToDoubleSetAdapter s;
...
s.evalidate(); // Throws an exception on illegal values
Either way, validation must be invoked directly by the client
code.
| Field Summary | |
protected Set |
set
The underlying set. |
| Constructor Summary | |
SetToDoubleSetAdapter(Set set)
Creates a new adaption to a set of double values. |
|
SetToDoubleSetAdapter(Set set,
boolean validate)
Creates a new adaption to a set of double values. |
|
| Method Summary | |
boolean |
add(double v)
Adds an element to this collection. |
void |
clear()
Clears this collection. |
boolean |
contains(double v)
Indicates whether this collection contains a specified element. |
void |
evalidate()
Validates the set underlying this adapter and throws an exception if it is invalid. |
int |
hashCode()
Returns a hash code value for this collection. |
DoubleIterator |
iterator()
Returns an iterator over this collection. |
boolean |
remove(double v)
Removes a specified element from this collection. |
int |
size()
Returns the number of elements in this collection. |
boolean |
validate()
Indicates whether the underlying set is valid for this adapter. |
| Methods inherited from class bak.pcj.set.AbstractDoubleSet |
equals |
| Methods inherited from class bak.pcj.AbstractDoubleCollection |
addAll, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toString, trimToSize |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface bak.pcj.DoubleCollection |
addAll, containsAll, equals, isEmpty, removeAll, retainAll, toArray, toArray, trimToSize |
| Field Detail |
protected Set set
| Constructor Detail |
public SetToDoubleSetAdapter(Set set)
set - the underlying set. This set must
consist of values of class
Double. Otherwise a
ClassCastException
will be thrown by some methods.
NullPointerException - if set is null.
public SetToDoubleSetAdapter(Set set,
boolean validate)
set - the underlying set. This set must
consist of values of class
Double. Otherwise a
ClassCastException
will be thrown by some methods.validate - indicates whether set should
be checked for illegal values.
NullPointerException - if set is null.
IllegalStateException - if validate is true and
set contains a null value
or a value that is not of class
Double.| Method Detail |
public boolean add(double v)
DoubleCollection
add in interface DoubleCollectionadd in class AbstractDoubleCollectionpublic void clear()
DoubleCollection
clear in interface DoubleCollectionclear in class AbstractDoubleCollectionpublic boolean contains(double v)
DoubleCollection
contains in interface DoubleCollectioncontains in class AbstractDoubleCollectionpublic int hashCode()
DoubleCollection
hashCode in interface DoubleCollectionhashCode in class AbstractDoubleSetpublic DoubleIterator iterator()
DoubleCollection
iterator in interface DoubleCollectionpublic boolean remove(double v)
DoubleCollection
remove in interface DoubleCollectionremove in class AbstractDoubleCollectionpublic int size()
DoubleCollection
size in interface DoubleCollectionsize in class AbstractDoubleCollectionpublic boolean validate()
Double values and no null
values.
public void evalidate()
Double
values and no null values.
IllegalStateException - if the underlying set is invalid.
|
PCJ API Version 1.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||