Class DelegatingListProperty<S,​E>

  • Type Parameters:
    S - type of the source object
    E - type of the elements in the list
    All Implemented Interfaces:
    IProperty, IListProperty<S,​E>

    public abstract class DelegatingListProperty<S,​E>
    extends ListProperty<S,​E>
    Since:
    1.2
    • Constructor Detail

      • DelegatingListProperty

        protected DelegatingListProperty()
      • DelegatingListProperty

        protected DelegatingListProperty​(Object elementType)
    • Method Detail

      • getDelegate

        public final IListProperty<S,​E> getDelegate​(S source)
        Returns the property to delegate to for the specified source object. Repeated calls to this method with the same source object returns the same delegate instance.
        Parameters:
        source - the property source (may be null)
        Returns:
        the property to delegate to for the specified source object.
      • doGetDelegate

        protected abstract IListProperty<S,​E> doGetDelegate​(S source)
        Returns the property to delegate to for the specified source object. Implementers must ensure that repeated calls to this method with the same source object returns the same delegate instance.
        Parameters:
        source - the property source
        Returns:
        the property to delegate to for the specified source object.
      • getElementType

        public Object getElementType()
        Description copied from interface: IListProperty
        Returns the type of the elements in the collection or null if untyped
        Returns:
        the type of the elements in the collection or null if untyped
      • doGetList

        protected List<E> doGetList​(S source)
        Description copied from class: ListProperty
        Returns a List with the current contents of the source's list property
        Overrides:
        doGetList in class ListProperty<S,​E>
        Parameters:
        source - the property source
        Returns:
        a List with the current contents of the source's list property
      • doSetList

        protected void doSetList​(S source,
                                 List<E> list)
        Description copied from class: ListProperty
        Updates the property on the source with the specified change.
        Overrides:
        doSetList in class ListProperty<S,​E>
        Parameters:
        source - the property source
        list - the new list
      • doUpdateList

        protected void doUpdateList​(S source,
                                    ListDiff<E> diff)
        Description copied from class: ListProperty
        Updates the property on the source with the specified change
        Overrides:
        doUpdateList in class ListProperty<S,​E>
        Parameters:
        source - the property source
        diff - a diff describing the change
      • observe

        public IObservableList<E> observe​(S source)
        Description copied from interface: IListProperty
        Returns an observable list observing this list property on the given property source
        Specified by:
        observe in interface IListProperty<S,​E>
        Overrides:
        observe in class ListProperty<S,​E>
        Parameters:
        source - the property source
        Returns:
        an observable list observing this list property on the given property source
      • observe

        public IObservableList<E> observe​(Realm realm,
                                          S source)
        Description copied from interface: IListProperty
        Returns an observable list observing this list property on the given property source
        Parameters:
        realm - the observable's realm
        source - the property source
        Returns:
        an observable list observing this list property on the given property source