# Class Properties

java.lang.Object
org.eclipse.core.databinding.property.Properties

public class Properties extends Object
Contains static methods to operate on or return IProperty objects.

Since:
  1.2

## Constructor Summary

Constructors
Constructor
Description
`Properties()`

## Method Summary

Modifier and Type
Method
Description
`static <S,T> IValueProperty<S,T>`
`convertedValue(Object valueType, Function<? super S, ? extends T> converter)`
Returns an `IValueProperty` whose value results from applying the given conversion function on the source object of the value property.
`static <S,T> IValueProperty<S,T>`
`convertedValue(Function<? super S, ? extends T> converter)`
Returns an untyped `IValueProperty`.
`static <T> IValueProperty<IObservableValue<T>, T>`
`observableValue(Object valueType)`
Returns a value property which observes the value of an `IObservableValue`.
`static <K,V,P> IObservableMap<K, ? extends P>[]`
`observeEach(IObservableMap<K,V> domainMap, IValueProperty<? super V, ? extends P>... properties)`
Returns an array of observable maps where each maps observes the corresponding value property on all elements in the given domain map's `values` collection, for each property in the given array.
`static <E,P> IObservableMap<E, ? extends P>[]`
`observeEach(IObservableSet<E> domainSet, IValueProperty<? super E, ? extends P>... properties)`
Returns an array of observable maps where each map observes the corresponding value property on all elements in the given domain set, for each property in the given array.
`static <E> IListProperty<List<E>,E>`
`selfList(Object elementType)`
Returns a list property which takes the source object (a `List`) as the property list.
`static <K,V> IMapProperty<Map<K,V>,K,V>`
`selfMap(Object keyType, Object valueType)`
Returns a map property which takes the source object (a `Map`) as the property map.
`static <E> ISetProperty<Set<E>,E>`
`selfSet(Object elementType)`
Returns a set property which takes the source object (a `Set`) as the property set.
`static <T> IValueProperty<T,T>`
`selfValue(Object valueType)`
Returns a value property which takes the source object itself as the property value.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Properties

public Properties()

## Method Details

### observeEach

@SafeVarargs public static <E,P> IObservableMap<E, ? extends P>[] observeEach(IObservableSet<E> domainSet, IValueProperty<? super E, ? extends P>... properties)
Returns an array of observable maps where each map observes the corresponding value property on all elements in the given domain set, for each property in the given array.

Parameters:
  `domainSet` - the set of elements whose properties will be observed
  `properties` - array of value properties to observe on each element in the domain map's `values` collection
Returns:
  an array of observable maps where each map observes the corresponding value property of the given domain set

### observeEach

@SafeVarargs public static <K,V,P> IObservableMap<K, ? extends P>[] observeEach(IObservableMap<K,V> domainMap, IValueProperty<? super V, ? extends P>... properties)
Returns an array of observable maps where each maps observes the corresponding value property on all elements in the given domain map's `values` collection, for each property in the given array.

Parameters:
  `domainMap` - the map of elements whose properties will be observed
  `properties` - array of value properties to observe on each element in the domain map's `values` collection
Returns:
  a list of observable maps where each maps observes the corresponding value property on all elements in the given domain map's `values` collection, for each property in the given array
Since:
  1.6

### selfValue

public static <T> IValueProperty<T,T> selfValue(Object valueType)
Returns a value property which takes the source object itself as the property value. This property may be used to wrap an object in an unmodifiable `IObservableValue`.

Parameters:
  `valueType` - the value type of the property
Returns:
  a value property which takes the source object itself as the property value.

### selfList

public static <E> IListProperty<List<E>,E> selfList(Object elementType)
Returns a list property which takes the source object (a `List`) as the property list. This property may be used to wrap an arbitrary List instance in an `IObservableList`.

Parameters:
  `elementType` - the element type of the property
Returns:
  a list property which takes the source object (a `List`) as the property list.

### selfSet

public static <E> ISetProperty<Set<E>,E> selfSet(Object elementType)
Returns a set property which takes the source object (a `Set`) as the property set. This property may be used to wrap an arbitrary Set instance in an `IObservableSet`.

Parameters:
  `elementType` - the element type of the property
Returns:
  a set property which takes the source object (a `Set`) as the property set.

### selfMap

public static <K,V> IMapProperty<Map<K,V>,K,V> selfMap(Object keyType, Object valueType)
Returns a map property which takes the source object (a `Map`) as the property map. This property may be used to wrap an arbitrary Map instance in an `IObservableMap`.

Parameters:
  `keyType` - the key type of the property
  `valueType` - the value type of the property
Returns:
  a map property which takes the source object (a `Map` as the property map.

### observableValue

public static <T> IValueProperty<IObservableValue<T>, T> observableValue(Object valueType)
Returns a value property which observes the value of an `IObservableValue`. This property may be used e.g. for observing the respective values of an `IObservableList` < `IObservableValue` >.

Calls to `IValueProperty.observe(Object)` or `IValueProperty.observe(Realm, Object)` just cast the argument to `IObservableValue` and return it (the realm argument is ignored).

Parameters:
  `valueType` - the value type of the property
Returns:
  a value property which observes the value of an `IObservableValue`.

### convertedValue

public static <S,T> IValueProperty<S,T> convertedValue(Object valueType, Function<? super S, ? extends T> converter)
Returns an `IValueProperty` whose value results from applying the given conversion function on the source object of the value property. Setting a value on the property is not supported.

Parameters:
  `valueType` - value type of the property (after conversion); null if untyped
  `converter` - converter to apply to the source object of the value property; not null
Returns:
  new instance of a value property, whose value is the result of applying the given converter to the source object
Since:
  1.8

### convertedValue

public static <S,T> IValueProperty<S,T> convertedValue(Function<? super S, ? extends T> converter)
Returns an untyped `IValueProperty`. Equivalent to `convertedValue(null, converter)`.

Parameters:
  `converter` - see `convertedValue(Object, Function)`
Returns:
  see `convertedValue(Object, Function)`
Since:
  1.8