# Interface Properties<K>

All Superinterfaces:
  `Iterable<K>`

All Known Subinterfaces:
  `MutableProperties<K>`

All Known Implementing Classes:
  `AbstractProperties, EnumOverrideProperties, EnumProperties, OverrideProperties, SimpleProperties`

@JsType public interface Properties<K> extends Iterable<K>
A collection of named properties.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPropertiesListener(PropertiesListener<K> listener)`
  Add a listener to the list that's notified each time a change to the properties occurs.
  `void`
  `addWeakPropertiesListener(PropertiesListener<K> listener)`
  Add a listener to the list that's notified each time a change to the properties occurs.
  `Property`
  `getProperty(K name)`
  `Object`
  `getValue(K name)`
  `Iterator<K>`
  `iterator()`
  `void`
  `removePropertiesListener(PropertiesListener<K> listener)`
  Remove a listener to the list that's notified each time a change to the properties occurs.

  ### Methods inherited from interface Iterable

  `forEach, spliterator`

- ## Method Details

  - ### iterator

    Iterator<K> iterator()
    Specified by:
      `iterator` in interface `Iterable<K>`

  - ### getProperty

    Property getProperty(K name)

  - ### getValue

    Object getValue(K name)

  - ### addPropertiesListener

    void addPropertiesListener(PropertiesListener<K> listener)
    Add a listener to the list that's notified each time a change to the properties occurs.
    Parameters:
      `listener` - the PropertiesListener

  - ### addWeakPropertiesListener

    void addWeakPropertiesListener(PropertiesListener<K> listener)
    Add a listener to the list that's notified each time a change to the properties occurs. The listener will automatically be disposed of should no other object have a reference to it.
    Parameters:
      `listener` - the PropertiesListener

  - ### removePropertiesListener

    void removePropertiesListener(PropertiesListener<K> listener)
    Remove a listener to the list that's notified each time a change to the properties occurs.
    Parameters:
      `listener` - the SelectionListener