- java.lang.Object
-
- javafx.beans.binding.ListExpression<E>
-
- Type Parameters:
E- the type of theListelements.
- All Implemented Interfaces:
Iterable<E>,Collection<E>,List<E>,Observable,ObservableListValue<E>,ObservableObjectValue<E>,ObservableValue<E>,ObservableList<E>
- Direct Known Subclasses:
ListBinding,ReadOnlyListProperty
public abstract class ListExpression<E> extends Object implements ObservableListValue<E>
ListExpressionis anObservableListValueplus additional convenience methods to generate bindings in a fluent style.A concrete sub-class of
ListExpressionhas to implement the methodObservableObjectValue.get(), which provides the actual value of this expression.If the wrapped list of a
ListExpressionisnull, all methods implementing theListinterface will behave as if they were applied to an immutable empty list.- Since:
- JavaFX 2.1
-
-
Property Summary
Properties Type Property Description abstract ReadOnlyBooleanPropertyemptyA boolean property that istrue, if the list is empty.abstract ReadOnlyIntegerPropertysizeAn integer property that represents the size of the list.
-
Constructor Summary
Constructors Constructor Description ListExpression()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidadd(int i, E element)Inserts the specified element at the specified position in this list (optional operation).booleanadd(E element)Appends the specified element to the end of this list (optional operation).booleanaddAll(int i, Collection<? extends E> elements)Inserts all of the elements in the specified collection into this list at the specified position (optional operation).booleanaddAll(E... elements)A convenience method for var-arg addition of elements.booleanaddAll(Collection<? extends E> elements)Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator (optional operation).StringBindingasString()voidclear()Removes all of the elements from this list (optional operation).booleancontains(Object obj)Returnstrueif this list contains the specified element.booleancontainsAll(Collection<?> objects)Returnstrueif this list contains all of the elements of the specified collection.abstract ReadOnlyBooleanPropertyemptyProperty()A boolean property that istrue, if the list is empty.Eget(int i)Returns the element at the specified position in this list.intgetSize()The size of the listObservableList<E>getValue()Returns the current value of thisObservableValueintindexOf(Object obj)Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.booleanisEmpty()Gets the value of the property empty.BooleanBindingisEqualTo(ObservableList<?> other)BooleanBindingisNotEqualTo(ObservableList<?> other)BooleanBindingisNotNull()BooleanBindingisNull()Iterator<E>iterator()Returns an iterator over the elements in this list in proper sequence.intlastIndexOf(Object obj)Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.static <E> ListExpression<E>listExpression(ObservableListValue<E> value)Returns aListExpressionthat wraps aObservableListValue.ListIterator<E>listIterator()Returns a list iterator over the elements in this list (in proper sequence).ListIterator<E>listIterator(int i)Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.Eremove(int i)Removes the element at the specified position in this list (optional operation).voidremove(int from, int to)A simplified way of callingsublist(from, to).clear().booleanremove(Object obj)Removes the first occurrence of the specified element from this list, if it is present (optional operation).booleanremoveAll(E... elements)A convenience method for var-arg usage of theremoveAllmethod.booleanremoveAll(Collection<?> objects)Removes from this list all of its elements that are contained in the specified collection (optional operation).booleanretainAll(E... elements)A convenience method for var-arg usage of theretainAllmethod.booleanretainAll(Collection<?> objects)Retains only the elements in this list that are contained in the specified collection (optional operation).Eset(int i, E element)Replaces the element at the specified position in this list with the specified element (optional operation).booleansetAll(E... elements)Clears the ObservableList and adds all the elements passed as var-args.booleansetAll(Collection<? extends E> elements)Clears the ObservableList and adds all elements from the collection.intsize()Returns the number of elements in this list.abstract ReadOnlyIntegerPropertysizeProperty()An integer property that represents the size of the list.List<E>subList(int from, int to)Returns a view of the portion of this list between the specifiedfromIndex, inclusive, andtoIndex, exclusive.Object[]toArray()Returns an array containing all of the elements in this list in proper sequence (from first to last element).<T> T[]toArray(T[] array)Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.ObjectBinding<E>valueAt(int index)Creates a newObjectBindingthat contains the element at the specified position.ObjectBinding<E>valueAt(ObservableIntegerValue index)Creates a newObjectBindingthat contains the element at the specified position.-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
Methods inherited from interface java.util.List
equals, hashCode, of, of, of, of, of, of, of, of, of, of, of, of, replaceAll, sort, spliterator
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javafx.beans.Observable
addListener, removeListener
-
Methods inherited from interface javafx.collections.ObservableList
addListener, filtered, removeListener, sorted, sorted
-
Methods inherited from interface javafx.beans.value.ObservableObjectValue
get
-
Methods inherited from interface javafx.beans.value.ObservableValue
addListener, removeListener
-
-
-
-
Property Detail
-
size
public abstract ReadOnlyIntegerProperty sizeProperty
An integer property that represents the size of the list.- See Also:
getSize()
-
empty
public abstract ReadOnlyBooleanProperty emptyProperty
A boolean property that istrue, if the list is empty.- See Also:
isEmpty()
-
-
Method Detail
-
getValue
public ObservableList<E> getValue()
Description copied from interface:ObservableValueReturns the current value of thisObservableValue- Specified by:
getValuein interfaceObservableValue<E>- Returns:
- The current value
-
listExpression
public static <E> ListExpression<E> listExpression(ObservableListValue<E> value)
Returns aListExpressionthat wraps aObservableListValue. If theObservableListValueis already aListExpression, it will be returned. Otherwise a newListBindingis created that is bound to theObservableListValue.- Type Parameters:
E- the type of the wrappedList- Parameters:
value- The sourceObservableListValue- Returns:
- A
ListExpressionthat wraps theObservableListValueif necessary - Throws:
NullPointerException- ifvalueisnull
-
getSize
public int getSize()
The size of the list- Returns:
- the size
-
sizeProperty
public abstract ReadOnlyIntegerProperty sizeProperty()
An integer property that represents the size of the list.- See Also:
getSize()
-
emptyProperty
public abstract ReadOnlyBooleanProperty emptyProperty()
A boolean property that istrue, if the list is empty.- See Also:
isEmpty()
-
valueAt
public ObjectBinding<E> valueAt(int index)
Creates a newObjectBindingthat contains the element at the specified position. Ifindexpoints behind the list, theObjectBindingcontainsnull.- Parameters:
index- the index of the element- Returns:
- the
ObjectBinding - Throws:
IllegalArgumentException- ifindex < 0
-
valueAt
public ObjectBinding<E> valueAt(ObservableIntegerValue index)
Creates a newObjectBindingthat contains the element at the specified position. Ifindexpoints outside of the list, theObjectBindingcontainsnull.- Parameters:
index- the index of the element- Returns:
- the
ObjectBinding - Throws:
NullPointerException- ifindexisnull
-
isEqualTo
public BooleanBinding isEqualTo(ObservableList<?> other)
- Parameters:
other- the otherObservableList- Returns:
- the new
BooleanBinding - Throws:
NullPointerException- ifotherisnull
-
isNotEqualTo
public BooleanBinding isNotEqualTo(ObservableList<?> other)
- Parameters:
other- the otherObservableList- Returns:
- the new
BooleanBinding - Throws:
NullPointerException- ifotherisnull
-
isNull
public BooleanBinding isNull()
- Returns:
- the new
BooleanBinding
-
isNotNull
public BooleanBinding isNotNull()
- Returns:
- the new
BooleanBinding
-
asString
public StringBinding asString()
Creates aStringBindingthat holds the value of theListExpressionturned into aString. If the value of thisListExpressionchanges, the value of theStringBindingwill be updated automatically.- Returns:
- the new
StringBinding
-
size
public int size()
Description copied from interface:ListReturns the number of elements in this list. If this list contains more thanInteger.MAX_VALUEelements, returnsInteger.MAX_VALUE.
-
isEmpty
public boolean isEmpty()
Gets the value of the property empty.
-
contains
public boolean contains(Object obj)
Description copied from interface:ListReturnstrueif this list contains the specified element. More formally, returnstrueif and only if this list contains at least one elementesuch thatObjects.equals(o, e).
-
iterator
public Iterator<E> iterator()
Description copied from interface:ListReturns an iterator over the elements in this list in proper sequence.
-
toArray
public Object[] toArray()
Description copied from interface:ListReturns an array containing all of the elements in this list in proper sequence (from first to last element).The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array even if this list is backed by an array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
- Specified by:
toArrayin interfaceCollection<E>- Specified by:
toArrayin interfaceList<E>- Returns:
- an array containing all of the elements in this list in proper sequence
- See Also:
Arrays.asList(Object[])
-
toArray
public <T> T[] toArray(T[] array)
Description copied from interface:ListReturns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the list is set to
null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)Like the
List.toArray()method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.Suppose
xis a list known to contain only strings. The following code can be used to dump the list into a newly allocated array ofString:
Note thatString[] y = x.toArray(new String[0]);toArray(new Object[0])is identical in function totoArray().- Specified by:
toArrayin interfaceCollection<E>- Specified by:
toArrayin interfaceList<E>- Type Parameters:
T- the runtime type of the array to contain the collection- Parameters:
array- the array into which the elements of this list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.- Returns:
- an array containing the elements of this list
-
add
public boolean add(E element)
Description copied from interface:ListAppends the specified element to the end of this list (optional operation).Lists that support this operation may place limitations on what elements may be added to this list. In particular, some lists will refuse to add null elements, and others will impose restrictions on the type of elements that may be added. List classes should clearly specify in their documentation any restrictions on what elements may be added.
- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceList<E>- Parameters:
element- element to be appended to this list- Returns:
true(as specified byCollection.add(E))
-
remove
public boolean remove(Object obj)
Description copied from interface:ListRemoves the first occurrence of the specified element from this list, if it is present (optional operation). If this list does not contain the element, it is unchanged. More formally, removes the element with the lowest indexisuch thatObjects.equals(o, get(i))(if such an element exists). Returnstrueif this list contained the specified element (or equivalently, if this list changed as a result of the call).
-
containsAll
public boolean containsAll(Collection<?> objects)
Description copied from interface:ListReturnstrueif this list contains all of the elements of the specified collection.- Specified by:
containsAllin interfaceCollection<E>- Specified by:
containsAllin interfaceList<E>- Parameters:
objects- collection to be checked for containment in this list- Returns:
trueif this list contains all of the elements of the specified collection- See Also:
List.contains(Object)
-
addAll
public boolean addAll(Collection<? extends E> elements)
Description copied from interface:ListAppends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (Note that this will occur if the specified collection is this list, and it's nonempty.)- Specified by:
addAllin interfaceCollection<E>- Specified by:
addAllin interfaceList<E>- Parameters:
elements- collection containing elements to be added to this list- Returns:
trueif this list changed as a result of the call- See Also:
List.add(Object)
-
addAll
public boolean addAll(int i, Collection<? extends E> elements)Description copied from interface:ListInserts all of the elements in the specified collection into this list at the specified position (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in this list in the order that they are returned by the specified collection's iterator. The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (Note that this will occur if the specified collection is this list, and it's nonempty.)
-
removeAll
public boolean removeAll(Collection<?> objects)
Description copied from interface:ListRemoves from this list all of its elements that are contained in the specified collection (optional operation).- Specified by:
removeAllin interfaceCollection<E>- Specified by:
removeAllin interfaceList<E>- Parameters:
objects- collection containing elements to be removed from this list- Returns:
trueif this list changed as a result of the call- See Also:
List.remove(Object),List.contains(Object)
-
retainAll
public boolean retainAll(Collection<?> objects)
Description copied from interface:ListRetains only the elements in this list that are contained in the specified collection (optional operation). In other words, removes from this list all of its elements that are not contained in the specified collection.- Specified by:
retainAllin interfaceCollection<E>- Specified by:
retainAllin interfaceList<E>- Parameters:
objects- collection containing elements to be retained in this list- Returns:
trueif this list changed as a result of the call- See Also:
List.remove(Object),List.contains(Object)
-
clear
public void clear()
Description copied from interface:ListRemoves all of the elements from this list (optional operation). The list will be empty after this call returns.
-
get
public E get(int i)
Description copied from interface:ListReturns the element at the specified position in this list.
-
set
public E set(int i, E element)
Description copied from interface:ListReplaces the element at the specified position in this list with the specified element (optional operation).
-
add
public void add(int i, E element)Description copied from interface:ListInserts the specified element at the specified position in this list (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).
-
remove
public E remove(int i)
Description copied from interface:ListRemoves the element at the specified position in this list (optional operation). Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the list.
-
indexOf
public int indexOf(Object obj)
Description copied from interface:ListReturns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the lowest indexisuch thatObjects.equals(o, get(i)), or -1 if there is no such index.
-
lastIndexOf
public int lastIndexOf(Object obj)
Description copied from interface:ListReturns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the highest indexisuch thatObjects.equals(o, get(i)), or -1 if there is no such index.- Specified by:
lastIndexOfin interfaceList<E>- Parameters:
obj- element to search for- Returns:
- the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element
-
listIterator
public ListIterator<E> listIterator()
Description copied from interface:ListReturns a list iterator over the elements in this list (in proper sequence).- Specified by:
listIteratorin interfaceList<E>- Returns:
- a list iterator over the elements in this list (in proper sequence)
-
listIterator
public ListIterator<E> listIterator(int i)
Description copied from interface:ListReturns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list. The specified index indicates the first element that would be returned by an initial call tonext. An initial call topreviouswould return the element with the specified index minus one.- Specified by:
listIteratorin interfaceList<E>- Parameters:
i- index of the first element to be returned from the list iterator (by a call tonext)- Returns:
- a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list
-
subList
public List<E> subList(int from, int to)
Description copied from interface:ListReturns a view of the portion of this list between the specifiedfromIndex, inclusive, andtoIndex, exclusive. (IffromIndexandtoIndexare equal, the returned list is empty.) The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations supported by this list.This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list:
Similar idioms may be constructed forlist.subList(from, to).clear();indexOfandlastIndexOf, and all of the algorithms in theCollectionsclass can be applied to a subList.The semantics of the list returned by this method become undefined if the backing list (i.e., this list) is structurally modified in any way other than via the returned list. (Structural modifications are those that change the size of this list, or otherwise perturb it in such a fashion that iterations in progress may yield incorrect results.)
-
addAll
public boolean addAll(E... elements)
Description copied from interface:ObservableListA convenience method for var-arg addition of elements.- Specified by:
addAllin interfaceObservableList<E>- Parameters:
elements- the elements to add- Returns:
- true (as specified by Collection.add(E))
-
setAll
public boolean setAll(E... elements)
Description copied from interface:ObservableListClears the ObservableList and adds all the elements passed as var-args.- Specified by:
setAllin interfaceObservableList<E>- Parameters:
elements- the elements to set- Returns:
- true (as specified by Collection.add(E))
-
setAll
public boolean setAll(Collection<? extends E> elements)
Description copied from interface:ObservableListClears the ObservableList and adds all elements from the collection.- Specified by:
setAllin interfaceObservableList<E>- Parameters:
elements- the collection with elements that will be added to this observableArrayList- Returns:
- true (as specified by Collection.add(E))
-
removeAll
public boolean removeAll(E... elements)
Description copied from interface:ObservableListA convenience method for var-arg usage of theremoveAllmethod.- Specified by:
removeAllin interfaceObservableList<E>- Parameters:
elements- the elements to be removed- Returns:
- true if list changed as a result of this call
-
retainAll
public boolean retainAll(E... elements)
Description copied from interface:ObservableListA convenience method for var-arg usage of theretainAllmethod.- Specified by:
retainAllin interfaceObservableList<E>- Parameters:
elements- the elements to be retained- Returns:
- true if list changed as a result of this call
-
remove
public void remove(int from, int to)Description copied from interface:ObservableListA simplified way of callingsublist(from, to).clear(). As this is a common operation, ObservableList has this method for convenient usage.- Specified by:
removein interfaceObservableList<E>- Parameters:
from- the start of the range to remove (inclusive)to- the end of the range to remove (exclusive)
-
-