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

de.tsl2.nano.bean.def.IPageBuilder Maven / Gradle / Ivy

Go to download

TSL2 Framework Descriptor (currency-handling, generic formatter, descriptors for beans, collections, actions and values)

There is a newer version: 2.5.1
Show newest version
package de.tsl2.nano.bean.def;

import java.util.Collection;

import de.tsl2.nano.action.IAction;
import de.tsl2.nano.core.ISession;


/**
 * a page builder should create a component representing the given bean.
 * 
 * @param  type of element to create a page
 * @param  output type of builder
 * @author Thomas Schneider
 * @version $Revision$
 */
@SuppressWarnings("rawtypes")
public interface IPageBuilder {

    /**
     * creates the full page
     * @param model model to present
     * @param message optional message to show
     * @param interactive if false, no buttons and edit fields are shown
     * @param navigation (optional) navigation objects
     * @return page text
     */
    OUTPUT build(ISession session, BeanDefinition model, Object message, boolean interactive, BeanDefinition... navigation);

    /**
     * create a full page and decorate a message
     * @param message
     * @return new page with decorated message
     */
    OUTPUT page(String message);
    
    /**
     * decorate a message
     * @param message
     * @return decorated 
     */
    OUTPUT decorate(String title, String message);
    
    /**
     * creates extended actions like 'help', 'configure', 'exit' etc.
     */
    public Collection getApplicationActions(ISession session);
    
    /**
     * creates extended actions like 'logout' etc.
     */
    public Collection getSessionActions(ISession session);
    
    /**
     * creates extended actions like 'print', 'help', 'export', 'select-all', 'deselect-all' etc.
     */
    public Collection getPageActions(ISession session);
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy