Class MapExpression<K,V>

java.lang.Object
javafx.beans.binding.MapExpression<K,V>
Type Parameters:
K - the type of the key elements
V - the type of the value elements
All Implemented Interfaces:
Map<K,V>, Observable, ObservableMapValue<K,V>, ObservableObjectValue<ObservableMap<K,V>>, ObservableValue<ObservableMap<K,V>>, ObservableMap<K,V>
Direct Known Subclasses:
MapBinding, ReadOnlyMapProperty

public abstract class MapExpression<K,V> extends Object implements ObservableMapValue<K,V>
MapExpression is an ObservableMapValue plus additional convenience methods to generate bindings in a fluent style.

A concrete sub-class of MapExpression has to implement the method ObservableObjectValue.get(), which provides the actual value of this expression.

If the wrapped list of a MapExpression is null, all methods implementing the Map interface will behave as if they were applied to an immutable empty list.

Since:
JavaFX 2.1
  • Property Details

  • Constructor Details

    • MapExpression

      public MapExpression()
      Creates a default MapExpression.
  • Method Details

    • getValue

      public ObservableMap<K,V> getValue()
      Description copied from interface: ObservableValue
      Returns the current value of this ObservableValue
      Specified by:
      getValue in interface ObservableValue<K>
      Returns:
      The current value
    • mapExpression

      public static <K, V> MapExpression<K,V> mapExpression(ObservableMapValue<K,V> value)
      Returns a MapExpression that wraps a ObservableMapValue. If the ObservableMapValue is already a MapExpression, it will be returned. Otherwise a new MapBinding is created that is bound to the ObservableMapValue.
      Type Parameters:
      K - the type of the key elements
      V - the type of the value elements
      Parameters:
      value - The source ObservableMapValue
      Returns:
      A MapExpression that wraps the ObservableMapValue if necessary
      Throws:
      NullPointerException - if value is null
    • getSize

      public int getSize()
      The size of the map
      Returns:
      the size
    • sizeProperty

      public abstract ReadOnlyIntegerProperty sizeProperty()
      An integer property that represents the size of the map.
      Returns:
      the property
      See Also:
    • emptyProperty

      public abstract ReadOnlyBooleanProperty emptyProperty()
      A boolean property that is true, if the map is empty.
      Returns:
      the ReadOnlyBooleanProperty
      See Also:
    • valueAt

      public ObjectBinding<V> valueAt(K key)
      Creates a new ObjectBinding that contains the mapping of the specified key.
      Parameters:
      key - the key of the mapping
      Returns:
      the ObjectBinding
    • valueAt

      public ObjectBinding<V> valueAt(ObservableValue<K> key)
      Creates a new ObjectBinding that contains the mapping of the specified key.
      Parameters:
      key - the key of the mapping
      Returns:
      the ObjectBinding
      Throws:
      NullPointerException - if key is null
    • isEqualTo

      public BooleanBinding isEqualTo(ObservableMap<?,?> other)
      Creates a new BooleanBinding that holds true if this map is equal to another ObservableMap.
      Parameters:
      other - the other ObservableMap
      Returns:
      the new BooleanBinding
      Throws:
      NullPointerException - if other is null
    • isNotEqualTo

      public BooleanBinding isNotEqualTo(ObservableMap<?,?> other)
      Creates a new BooleanBinding that holds true if this map is not equal to another ObservableMap.
      Parameters:
      other - the other ObservableMap
      Returns:
      the new BooleanBinding
      Throws:
      NullPointerException - if other is null
    • isNull

      public BooleanBinding isNull()
      Creates a new BooleanBinding that holds true if the wrapped map is null.
      Returns:
      the new BooleanBinding
    • isNotNull

      public BooleanBinding isNotNull()
      Creates a new BooleanBinding that holds true if the wrapped map is not null.
      Returns:
      the new BooleanBinding
    • asString

      public StringBinding asString()
      Creates a StringBinding that holds the value of the MapExpression turned into a String. If the value of this MapExpression changes, the value of the StringBinding will be updated automatically.
      Returns:
      the new StringBinding
    • size

      public int size()
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Gets the value of the empty property.
      Specified by:
      isEmpty in interface Map<K,V>
      Property description:
      A boolean property that is true, if the map is empty.
      Returns:
      the value of the empty property
      See Also:
    • containsKey

      public boolean containsKey(Object obj)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object obj)
      Specified by:
      containsValue in interface Map<K,V>
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • remove

      public V remove(Object obj)
      Specified by:
      remove in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> elements)
      Specified by:
      putAll in interface Map<K,V>
    • clear

      public void clear()
      Specified by:
      clear in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • get

      public V get(Object key)
      Specified by:
      get in interface Map<K,V>