Class JcrObject

  • All Implemented Interfaces:
    Serializable, org.apache.wicket.model.IDetachable, org.apache.wicket.util.io.IClusterable, IObservable

    public abstract class JcrObject
    extends Object
    implements org.apache.wicket.model.IDetachable, IObservable
    A base class for implementing object content mapping. It wraps a JcrNodeModel, and provides an observable on top of JCR. Subclasses can override the processEvents method to translate these events to object-type specific events.

    All instances of a type that correspond to the same node are equivalent with respect to the hashCode and equals methods.

    See Also:
    Serialized Form
    • Constructor Detail

      • JcrObject

        public JcrObject​(org.apache.wicket.model.IModel<javax.jcr.Node> nodeModel)
    • Method Detail

      • getNode

        protected javax.jcr.Node getNode()
                                  throws javax.jcr.ItemNotFoundException
        Throws:
        javax.jcr.ItemNotFoundException
      • setStringSet

        protected void setStringSet​(String relPath,
                                    Set<String> strings)
      • save

        public void save()
      • 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
      • processEvents

        protected abstract void processEvents​(IObservationContext context,
                                              Iterator<? extends IEvent> events)
        Process the JCR events. Implementations should create higher-level events that are meaningful for the subtype. These must be broadcast to the observation context.
        Parameters:
        context - subtype specific observation context
        events - received JCR events
      • 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
      • equals

        public boolean equals​(Object obj)
        Description copied from interface: IObservable
        Equivalence of observables; observation will only be started on one instance.
        Specified by:
        equals in interface IObservable
        Overrides:
        equals in class Object