Module javafx.base

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

    • 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.
      See Also:
      getSize()
    • emptyProperty

      public abstract ReadOnlyBooleanProperty emptyProperty()
      A boolean property that is true, if the map is empty.
      See Also:
      Map.isEmpty()
    • 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