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

org.jrebirth.af.showcase.todos.service.TodoService Maven / Gradle / Ivy

The newest version!
package org.jrebirth.af.showcase.todos.service;

import static org.jrebirth.af.core.wave.WBuilder.waveType;

import org.jrebirth.af.api.module.RegistrationPoint;
import org.jrebirth.af.api.service.Service;
import org.jrebirth.af.api.wave.Wave;
import org.jrebirth.af.api.wave.contract.WaveItem;
import org.jrebirth.af.api.wave.contract.WaveType;
import org.jrebirth.af.core.wave.JRebirthItems;
import org.jrebirth.af.core.wave.WaveItemBase;
import org.jrebirth.af.showcase.todos.bean.Todo;
import org.jrebirth.af.showcase.todos.bean.TodoList;

import javafx.beans.property.StringProperty;

/**
 * The interface TodoService.
 *
 * @author Sébastien Bordes
 */
@RegistrationPoint
public interface TodoService extends Service {

    String ADDED = "ADDED";

    String REMOVED = "REMOVED";

    WaveItem TODO_STRING = new WaveItemBase() {
    };

    WaveItem TODO = new WaveItemBase() {
    };

    // WaveItem> RESULT = new WaveItemBase>() {
    // };

    WaveType DO_ADD = waveType("ADD")
                                     .items(TODO_STRING)
                                     .returnItem(JRebirthItems.booleanItem)
                                     .returnAction(ADDED);

    WaveType DO_REMOVE = waveType("REMOVE")
                                           .items(TODO)
                                           .returnItem(JRebirthItems.booleanItem)
                                           .returnAction(REMOVED);

    boolean doAdd(final StringProperty text, final Wave wave);

    boolean doRemove(final Todo todo, final Wave wave);

    TodoList getTodoList();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy