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

org.puremvc.java.interfaces.INotification 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 Notification.

* *

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.

* *

Notifications are not meant to be a replacement for Events * in Flex/Flash/AIR. Generally, IMediator implementors * place event listeners on their view components, which they * then handle in the usual way. This may lead to the broadcast of Notifications to * trigger ICommands or to communicate with other IMediators. IProxy and ICommand * instances communicate with each other and IMediators * by broadcasting INotifications.

* *

A key difference between Flash Events and PureMVC * Notifications is that Events follow the * 'Chain of Responsibility' pattern, 'bubbling' up the display hierarchy * until some parent component handles the Event, while * PureMVC Notifications follow a 'Publish/Subscribe' * pattern. PureMVC classes need not be related to each other in a * parent/child relationship in order to communicate with one another * using Notifications.

* * @see IView IView * @see IObserver IObserver */ public interface INotification { /** *

Get the name of the INotification instance. * No setter, should be set by constructor only

* * @return notification name */ String getName(); /** *

Set the body of the INotification instance

* * @param body notification body */ void setBody(Object body); /** *

Get the body of the INotification instance

* * @return notification body */ Object getBody(); /** *

Set the type of the INotification instance

* * @param type notification type */ void setType(String type); /** *

Get the type of the INotification instance

* * @return notification type */ String getType(); /** *

Get the string representation of the INotification instance

* * @return string representation of INotification */ String toString(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy