Class StateIconAttributes

java.lang.Object
org.hippoecm.frontend.plugins.standards.list.resolvers.StateIconAttributes
All Implemented Interfaces:
Serializable, org.apache.wicket.model.IDetachable, org.apache.wicket.util.io.IClusterable, IObservable

public class StateIconAttributes extends Object implements IObservable, org.apache.wicket.model.IDetachable

Standard attributes of a hippostd:publishable document. Figures out what CSS classes, summary and icon should be used to represent the state. Can be used with handles, documents and (document) versions.

The org.hippoecm.frontend.plugins.cms.browse.list.DefaultListColumnProviderPlugin adds a ListColumn to display the documents in the "Document Area", that lists documents inside folders.

This ListColumn in its turn:

The StateIconAttributeModifier using this class set the title attribute (tooltip in this case) and the css class.

The DocumentIconAndStateRenderer uses getIcons() to add and update the icons.

The handle, document or document revision is observed, see IObservable by the observers of ListCell, so that any modification updates the css class, tooltip and icons.

In case of a handle, the draft variant is observed if it exists. If the stateSummary or the retainable property changes, the icon and toolip are updated. If no draft variant exists the published or unpublished variant is observed.

If the nodeModel, see constructor argument StateIconAttributes(JcrNodeModel) refers to a revision, the frozen node of the revision is used.

See Also:
  • Field Details

  • Constructor Details

    • StateIconAttributes

      public StateIconAttributes(JcrNodeModel nodeModel)
  • Method Details

    • getSummary

      public String getSummary()
    • getCssClass

      public String getCssClass()
    • getIcons

      public Icon[] getIcons()
    • detach

      public void detach()
      Specified by:
      detach in interface org.apache.wicket.model.IDetachable
    • setObservationContext

      public void setObservationContext(IObservationContext<? extends IObservable> context)
      Description copied from interface: IObservable
      Before observation is started on the observable, an observation context is injected by the observer registry. This context can be used to notify listeners.
      Specified by:
      setObservationContext in interface IObservable
    • startObservation

      public void startObservation()
      Description copied from interface: IObservable
      When the first IObserver of this observable is registered with the observer registry, observation is started. Implementations must notify observers until observation is stopped.

      An implementation should register listeners with external data sources, when appropriate. It is possible for an observable to register as an observer for another observable.

      Specified by:
      startObservation in interface IObservable
    • stopObservation

      public void stopObservation()
      Description copied from interface: IObservable
      When the last IObserver unregisters, observation is stopped. Any listeners or observers registered by the observable must be unregistered by the implementation.
      Specified by:
      stopObservation in interface IObservable