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

org.puremvc.java.interfaces.IView 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;

/**
 * 

The interface definition for a PureMVC View.

* *

In PureMVC, IView implementors assume these responsibilities:

* *

In PureMVC, the View class assumes these responsibilities:

* *
    *
  • Maintain a cache of IMediator instances.
  • *
  • Provide methods for registering, retrieving, and removing IMediators.
  • *
  • Managing the observer lists for each INotification in the application.
  • *
  • Providing a method for attaching IObservers to an INotification's observer list.
  • *
  • Providing a method for broadcasting an INotification.
  • *
  • Notifying the IObservers of a given INotification when it broadcast.
  • *
* * @see org.puremvc.java.interfaces.IMediator IMediator * @see org.puremvc.java.interfaces.IObserver IObserver * @see org.puremvc.java.interfaces.INotification INotification */ public interface IView { /** *

Register an IObserver to be notified * of INotifications with a given name.

* * @param notificationName the name of the INotifications to notify this IObserver of * @param observer the IObserver to register */ void registerObserver(String notificationName, IObserver observer); /** *

Remove a group of observers from the observer list for a given Notification name.

* * @param notificationName which observer list to remove from * @param notifyContext removed the observers with this object as their notifyContext */ void removeObserver(String notificationName, Object notifyContext); /** *

Notify the IObservers for a particular INotification.

* *

All previously attached IObservers for this INotification's * list are notified and are passed a reference to the INotification in * the order in which they were registered.

* * @param notification the INotification to notify IObservers of. */ void notifyObservers(INotification notification); /** *

Register an IMediator instance with the View.

* *

Registers the IMediator so that it can be retrieved by name, * and further interrogates the IMediator for its * INotification interests.

* *

If the IMediator returns any INotification * names to be notified about, an Observer is created encapsulating * the IMediator instance's handleNotification method * and registering it as an Observer for all INotifications the * IMediator is interested in.

* * @param mediator a reference to the IMediator instance */ void registerMediator(IMediator mediator); /** *

Retrieve an IMediator from the View.

* * @param mediatorName the name of the IMediator instance to retrieve. * @return the IMediator instance previously registered with the given mediatorName. */ IMediator retrieveMediator(String mediatorName); /** *

Remove an IMediator from the View.

* * @param mediatorName name of the IMediator instance to be removed. * @return the IMediator that was removed from the View */ IMediator removeMediator(String mediatorName); /** *

Check if a Mediator is registered or not

* * @param mediatorName mediator name * @return whether a Mediator is registered with the given mediatorName. */ boolean hasMediator(String mediatorName); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy