All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.puremvc.java.interfaces.IObserver Maven / Gradle / Ivy

Go to download

PureMVC is a lightweight framework for creating applications based upon the classic Model-View-Controller design meta-pattern. This is the specific implementation for the Java language. It does not support modular programming since it uses Singletons as Core actors rather than the Multiton used in the MultiCore Version.

The newest version!
//
//  PureMVC Java Standard
//
//  Copyright(c) 2019 Saad Shams 
//  Your reuse is governed by the Creative Commons Attribution 3.0 License
//

package org.puremvc.java.interfaces;

import java.util.function.Consumer;

/**
 * 

The interface definition for a PureMVC Observer.

* *

In PureMVC, IObserver implementors assume these responsibilities:

* *
    *
  • Encapsulate the notification (callback) method of the interested object.
  • *
  • Encapsulate the notification context (this) of the interested object.
  • *
  • Provide methods for setting the interested object' notification method and context.
  • *
  • Provide a method for notifying the interested object.
  • *
* *

PureMVC does not rely upon underlying event * models such as the one provided with Flash, * and ActionScript 3 does not have an inherent * event model.

* *

The Observer Pattern as implemented within * PureMVC exists to support event driven communication * between the application and the actors of the * MVC triad.

* *

An Observer is an object that encapsulates information * about an interested object with a notification method that * should be called when an INotification is broadcast. The Observer then * acts as a proxy for notifying the interested object.

* *

Observers can receive Notifications by having their * notifyObserver method invoked, passing * in an object implementing the INotification interface, such * as a subclass of Notification.

* * @see IView IView * @see org.puremvc.java.interfaces.INotification INotification */ public interface IObserver { /** *

Set the notification method.

* *

The notification method should take one parameter of type INotification

* * @param notifyMethod the notification (callback) method of the interested object */ void setNotifyMethod(Consumer notifyMethod); /** *

Set the notification context.

* * @param notifyContext the notification context (this) of the interested object */ void setNotifyContext(Object notifyContext); /** *

Notify the interested object.

* * @param notification the INotification to pass to the interested object's notification method */ void notifyObserver(INotification notification); /** *

Compare the given object to the notification context object.

* * @param object the object to compare. * @return boolean indicating if the notification context and the object are the same. */ boolean compareNotifyContext(Object object); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy