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

com.fluidbpm.program.api.ICustomWebAction Maven / Gradle / Ivy

Go to download

Used for the * Custom Program Step, * Custom Actions, * Scheduled Actions and * Fluid API in the Fluid BPM and Content Management system.

There is a newer version: 1.12
Show newest version
/*
 * Koekiebox CONFIDENTIAL
 *
 * [2012] - [2017] Koekiebox (Pty) Ltd
 * All Rights Reserved.
 *
 * NOTICE: All information contained herein is, and remains the property
 * of Koekiebox and its suppliers, if any. The intellectual and
 * technical concepts contained herein are proprietary to Koekiebox
 * and its suppliers and may be covered by South African and Foreign Patents,
 * patents in process, and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material is strictly
 * forbidden unless prior written permission is obtained from Koekiebox.
 */

package com.fluidbpm.program.api;

import java.util.List;

import com.fluidbpm.program.api.vo.FluidItem;

/**
 * Implement this interface when you want Fluid to execute
 * a custom action when performing actions from a {@code Form}.
 *
 * Default action is Save.
 *
 * The schedules are configured within Fluid.
 *
 * @author jasonbruwer
 * @since v1.0
 *
 * @see com.fluidbpm.program.api.vo.Form
 * @see com.fluidbpm.program.api.vo.FluidItem
 *
 */
public interface ICustomWebAction extends IActionBase {

    /**
     * Execute Order (2)
     *
     * May be 'Save' to apply when saving a Form.
     * Any other ActionIdentifier will be part of an
     * additional action that would not necessarily safe the form.
     *
     * @return The Fluid Implementation Unique Action Identifier.
     */
    public abstract String getActionIdentifier();

    /**
     * Execute Order (3)
     *
     * @return The {@code List} of Fluid Form Definition / Form Types
     *         That will be applicable to the Custom Web Action.
     */
    public abstract List getAllowedFormDefinitions();

    /**
     * Execute Order (4)
     *
     * @param fluidItemParam The current open {@code FluidItem}.
     * @return A {@code List} that may include new Fluid Items to create or update.
     * @throws Exception If any problems occur during execution.
     *         The FlowItem will be moved into an Erroneous state.
     * @see FluidItem
     */
    public abstract List execute(FluidItem fluidItemParam) throws Exception;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy