{"id":15174065,"url":"https://github.com/naoghuman/lib-action","last_synced_at":"2025-10-01T10:31:48.832Z","repository":{"id":19070002,"uuid":"22296993","full_name":"Naoghuman/lib-action","owner":"Naoghuman","description":"Lib-Action is a library for `easy` storing and accessing actions (EventHandler\u003cActionEvent\u003e) in a JavaFX \u0026 Maven desktop application.","archived":true,"fork":false,"pushed_at":"2018-01-28T16:04:58.000Z","size":246,"stargazers_count":3,"open_issues_count":13,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-27T11:23:31.297Z","etag":null,"topics":["action","actionevent","event-handlers","java","java-8","java-library","javafx","javafx-8","javafx-library","library","maven","netbeans"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Naoghuman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-26T21:39:03.000Z","updated_at":"2023-06-11T16:47:50.000Z","dependencies_parsed_at":"2022-09-26T22:10:16.568Z","dependency_job_id":null,"html_url":"https://github.com/Naoghuman/lib-action","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naoghuman%2Flib-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naoghuman%2Flib-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naoghuman%2Flib-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naoghuman%2Flib-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naoghuman","download_url":"https://codeload.github.com/Naoghuman/lib-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219875416,"owners_count":16554677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actionevent","event-handlers","java","java-8","java-library","javafx","javafx-8","javafx-library","library","maven","netbeans"],"created_at":"2024-09-27T11:23:47.027Z","updated_at":"2025-10-01T10:31:48.399Z","avatar_url":"https://github.com/Naoghuman.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Lib-Action\n===\n\n\n\nIntention\n---\n\nLib-Action is a library for `easy` storing and accessing actions ([EventHandler]\u0026lt;[ActionEvent]\u0026gt;) \nin a [JavaFX] \u0026amp; [Maven] desktop application.\n\n_Image:_ [UML] Lib-Action  \n![UML-diagram_Lib-Action_v0.6.0_2018-01-27_04-10.png][UML-diagram_Lib-Action_v0.6.0_2018-01-27_04-10]\n\n\u003e __Hint__  \n\u003e The `UML` diagram is created with the `Online Modeling Platform` [GenMyModel].\n\nCurrent `version` is `0.6.0` (01.28.2018 / MM.dd.yyyy).\n\n\n\nContent\n---\n\n* [Examples](#Examples)\n    - [How to register, use and access an action](#HoToReUsAnAcAnAc)\n    - [Usage from the builder TransferDataBuilder](#UsFrTheBuTr)\n    - [Usage from the interface Registerable](#UsFrThInReAb)\n* [Api](#Api)\n    - [com.github.naoghuman.lib.action.core.ActionHandlerFacade](#AcHaFa)\n    - [com.github.naoghuman.lib.action.core.ActionHandler](#AcHa)\n    - [com.github.naoghuman.lib.action.core.TransferDataBuilder](#TrDaBu)\n    - [com.github.naoghuman.lib.action.core.TransferData](#TrDa)\n    - [com.github.naoghuman.lib.action.core.Registerable](#ReAb)\n* [Download](#Download)\n* [Requirements](#Requirements)\n* [Installation](#Installation)\n* [Documentation](#Documentation)\n* [Contribution](#Contribution)\n* [License](#License)\n* [Autor](#Autor)\n* [Contact](#Contact)\n\n\n\nExamples\u003ca name=\"Examples\" /\u003e\n---\n\n### How to register, use and access an action\u003ca name=\"HoToReUsAnAcAnAc\" /\u003e\n\nThis example shows how an `action` can be registered with an `actionId` and \nhow to `trigger` the action and `receive` the event.  \n```java\npublic class ApplicationPresenter ... {\n    // Register an action with the actionId ACTION__APPLICATION__OPEN_EXERCISE\n    private void registerOnActionOpenExercise() {\n        LoggerFacade.getDefault().debug(this.getClass(), \"Register on action open [Exercise]\"); // NOI18N\n        \n        ActionHandlerFacade.getDefault().register(\n                ACTION__APPLICATION__OPEN_EXERCISE,\n                (ActionEvent event) -\u003e {\n                    final TransferData transferData = (TransferData) event.getSource();\n                    final Optional\u003cLong\u003e exerciseId = transferData.getLong();\n                    if (exerciseId.isPresent() {\n                        this.onActionOpenExerciseWithId(exerciseId.get());\n                    }\n                });\n    }\n    ...\n    // The above defined action will be executed when a user click on the exericse\n    // in the navigation.\n    private void initializeNavigationTabTopics() {\n        lvFoundedNavigationEntities.setOnMouseClicked(event -\u003e {\n            if (\n                    event.getClickCount() == 2\n                    \u0026\u0026 !lvFoundedNavigationEntities.getSelectionModel().isEmpty()\n            ) {\n                final NavigationEntity navigationEntity = lvFoundedNavigationEntities.getSelectionModel().getSelectedItem();\n                final long exerciseId = navigationEntity.getNavigation().getEntityId();\n\n                final TransferData transferData = TransferDataBuilder.create()\n                        .actionId(ACTION__APPLICATION__OPEN_EXERCISE)\n                        .setLong(exerciseId)\n                        .build();\n                \n                ActionHandlerFacade.getDefault().handle(transferData);\n            }\n        });\n        ...\n    }\n}\n\npublic interface IActionConfiguration {\n    public static final String ACTION__APPLICATION__OPEN_EXERCISE = \"ACTION__APPLICATION__OPEN_EXERCISE\"; // NOI18N\n    ...\n}\n```\n\n\n### Usage from the builder TransferDataBuilder\u003ca name=\"UsFrTheBuTr\" /\u003e\n\nThe interface [TransferData](#TrDa) is a simple readonly POJO to store optional \nvalues in an [ActionEvent]. An implementation from this interface can be generated \nwith the builder class [TransferDataBuilder](#TrDaBu).  \nThe following code snippet shows __how__ to use the `TransferDataBuilder` to generate \nan instance from the interface `TransferData`:\n\n```java\nTransferDataBuilderAllowedSteps() {\n        \n    /*\n    The TransferDataBuilder creates an TransferData which can be used to store\n    additional data in an ActionEvent.\n     - The attribute 'actionId' is mandory. The attribute is needed to identify\n       the associated EventHandler which fires the ActionEvent.\n     - All other attributes are optional. If not set then Optional\u003cT\u003e.empty()\n       will returned.\n     - Exception is the method 'disableLogging()' which allowed the developer\n       to disable the logging from the 'TransferData' during the ActionEvent.\n    */\n    final TransferData transferData = TransferDataBuilder.create()\n            .actionId(\"actionId\")                 // mandory (NOT NULL \u0026\u0026 NOT EMPTY)\n            .disableLogging()                     // optional (if used, then the logging is disabled)\n            .booleanValue(Boolean.FALSE)          // optional\n            .characterValue(Character.MIN_VALUE)  // optional\n            .doubleValue(Double.NaN)              // optional\n            .integerValue(Integer.MIN_VALUE)      // optional\n            .longValue(Long.MIN_VALUE)            // optional\n            .objectValue(new Point())             // optional\n            .stringValue(\"value\")                 // optional\n            .responseActionId(\"responseActionId\") // optional\n            .build();\n        \n    /*\n    Examples from diffrent combinations with the builder.\n     - The mandory attribute 'actionId' is the first attribute after the \n       method create().\n     - The sequence from all optinal attributes aren't fixed.\n     - If one optional attribute used twice or more then the last usage will \n       be stored.\n    */\n    TransferDataBuilder.create().actionId(\"actionId\").build();\n    TransferDataBuilder.create().actionId(\"actionId\").longValue(0L).build();\n    TransferDataBuilder.create().actionId(\"actionId\").disableLogging().integerValue(1).longValue(0L).build();\n    TransferDataBuilder.create().actionId(\"actionId\").disableLogging().integerValue(1).booleanValue(Boolean.FALSE).build();\n        \n}\n```\n\n__Additional informations__  \n* Design Pattern: [Fluent Interface]\n* Design Pattern: [Builder pattern]\n* Design Pattern: [Step builder pattern]\n\n\n### Usage from the interface Registerable\u003ca name=\"UsFrThInReAb\" /\u003e\n\nIn this example we will see how to use the method `register()` from the \ninterface [Registerable](#ReAb).  \n```java\npublic class ApplicationPresenter implements Registerable ... {\n    @Override\n    public void initialize(URL location, ResourceBundle resources) {\n        // This method will be executed during the initialization from the class \n        // ApplicationPresenter. So all methods from this method will be executed \n        // during the initialization.\n        this.register();\n        ...\n    }\n    ...\n    @Override\n    public void register() {\n        LoggerFacade.getDefault().debug(this.getClass(), \"Register actions in [ApplicationPresenter]\"); // NOI18N\n        \n        this.registerOnActionOpenTerm();\n        ...\n    }\n    ...\n    private void registerOnActionOpenTerm() {\n        LoggerFacade.getDefault().debug(this.getClass(), \"Register on action open [Term]\"); // NOI18N\n        \n        ActionHandlerFacade.getDefault().register(\n                ACTION__APPLICATION__OPEN_TERM,\n                (ActionEvent event) -\u003e {\n                    final TransferData transferData = (TransferData) event.getSource();\n                    final Optional\u003cLong\u003e entityId = transferData.getLong();\n                    if (entityId.isPresent()) {\n                        this.onActionOpenTermWithId(entityId);\n                    }\n                });\n    }\n}\n```\n\n\n\nApi\u003ca name=\"Api\" /\u003e\n---\n\n### com.github.naoghuman.lib.action.core.ActionHandlerFacade\u003ca name=\"AcHaFa\" /\u003e\n\n```java\n/**\n * The facade {@link com.github.naoghuman.lib.action.core.ActionHandlerFacade} \n * provides access to the default {@code Implementation} from the methods in the \n * {@code Interface} {@link com.github.naoghuman.lib.action.core.ActionHandler}.\n *\n * @author Naoghuman\n * @see    com.github.naoghuman.lib.action.core.ActionHandler\n */\npublic final class ActionHandlerFacade implements ActionHandler\n```\n\n```java\n/**\n * Returns a singleton instance from the class {@code ActionHandlerFacade}.\n * \n * @return a singleton instance from the class {@code ActionHandlerFacade}.\n */\npublic static final ActionHandlerFacade getDefault()\n```\n\n\n### com.github.naoghuman.lib.action.core.ActionHandler\u003ca name=\"AcHa\" /\u003e\n\n```java\n/**\n * With this interface the developer have access to all methods in context from \n * store, access and manage {@link javafx.event.EventHandler}s mapped to a specific \n * {@code actionId}.\n * \n * The implementation from this interface {@link com.github.naoghuman.lib.action.internal.DefaultActionHandler}\n * can be access over the facade {@link com.github.naoghuman.lib.action.core.ActionHandlerFacade}.\n *\n * @author Naoghuman\n * @see    com.github.naoghuman.lib.action.core.ActionHandlerFacade\n * @see    com.github.naoghuman.lib.action.internal.DefaultActionHandler\n * @see    javafx.event.EventHandler\n */\npublic interface ActionHandler\n```\n\n```java\n/**\n * Fires an {@link javafx.event.ActionEvent} with the associated {@code actionId}.\n * \u003cp\u003e\n * \u003cb\u003eHint:\u003c/b\u003e\u003cbr\u003e\n * The {@code actionId} and its associated {@link javafx.event.EventHandler} \n * must registered before during the method \n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)}.\n * \n * @param actionId The actionId which allowed access to the assoziated action.\n * @see            com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler) \n * @see            javafx.event.ActionEvent\n * @see            javafx.event.EventHandler\n */\npublic void handle(final String actionId);\n```\n\n```java\n/**\n * Fires an {@link javafx.event.ActionEvent} with the associated {@code actionId} \n * and the given parameter {@code value}.\n * \u003cp\u003e\n * Internal the parameter {@code data} will be stored in a \n * {@link com.github.naoghuman.lib.action.core.TransferData}. The data can \n * be access via:\u003cbr\u003e\n * public void handleOnAction(ActionEvent event) {\u003cbr\u003e\n * \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;final TransferData transferData = (TransferData) event.getSource();\u003cbr\u003e\n * \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;final long data = transferData.getLong();\u003cbr\u003e\n * \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026frasl; \u0026frasl; do anything with the data\u003cbr\u003e\n * }\n * \u003cp\u003e\n * \u003cb\u003eHint:\u003c/b\u003e\u003cbr\u003e\n * The {@code actionId} and its associated {@link javafx.event.EventHandler} \n * must before registered during the method \n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)}.\n * \n * @param actionId The actionId which allowed access to the assoziated action.\n * @param value    The long parameter which should be stored and transfered by this event.\n * @see            com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)\n * @see            com.github.naoghuman.lib.action.core.TransferData\n * @see            javafx.event.ActionEvent\n * @see            javafx.event.EventHandler\n */\npublic void handle(String actionId, long value);\n```\n\n```java\n/**\n * Fires an {@link javafx.event.ActionEvent} with the associated {@code actionId} \n * defined in the {@link com.github.naoghuman.lib.action.core.TransferData}.\n * \u003cp\u003e\n * The {@link com.github.naoghuman.lib.action.core.TransferData} will be \n * stored in the executed {@code ActionEvent} and can reached with the method \n * {@code event.getSource(): Object} in the overriden {@code ActionEvent}.\n * \u003cp\u003e\n * \u003cb\u003eHint:\u003c/b\u003e\u003cbr\u003e\n * The {@code actionId} and its associated {@link javafx.event.EventHandler} \n * must before registered during the method \n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)}.\n * \n * @param transferData A {@code TransferData} which contains the actionId and additional parameters.\n * @see                com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)\n * @see                com.github.naoghuman.lib.action.core.TransferData\n * @see                javafx.event.ActionEvent\n * @see                javafx.event.EventHandler\n */\npublic void handle(final TransferData transferData);\n```\n\n```java\n/**\n * Fires an {@link javafx.event.ActionEvent} for every {@link com.github.naoghuman.lib.action.core.TransferData} \n * with the associated {@code actionId} in the specific {@code TransferData}.\n * \u003cp\u003e\n * The {@link com.github.naoghuman.lib.action.core.TransferData} will be \n * stored in the executed {@code ActionEvent} and can reached with the method \n * {@code event.getSource(): Object} in the overriden {@code ActionEvent}.\n * \u003cp\u003e\n * \u003cb\u003eHint:\u003c/b\u003e\u003cbr\u003e\n * All {@code actionId}s and its associated {@link javafx.event.EventHandler} \n * must before registered during the method \n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)}.\n * \n * @param transferDatas A List with {@code TransferData} which contains the actionIds and additional parameters.\n * @see                 com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)\n * @see                 com.github.naoghuman.lib.action.core.TransferData\n * @see                 javafx.event.ActionEvent\n * @see                 javafx.event.EventHandler\n */\npublic void handle(final ObservableList\u003cTransferData\u003e transferDatas);\n```\n\n```java\n/**\n * Checks if the specific {@code actionId} is registered.\n * \n * @param actionId The actionId which should be check if it is exists.\n * @return         {@code true} if the actionId (with associated EventHandler) \n *                 is registered, otherwise {@code false}.\n */\npublic boolean isRegistered(final String actionId);\n```\n\n```java\n/**\n * Register an {@link javafx.event.EventHandler} with the specific {@code actionId}.\n * \n * @param actionId     The actionId which allowed access to the associated EventHandler.\n * @param eventHandler The assoziated EventHandler which should be registered.\n * @return             {@code true} if the EventHandler is registered, otherwise {@code false}.\n * @see                javafx.event.EventHandler\n */\npublic boolean register(final String actionId, final EventHandler\u003cActionEvent\u003e eventHandler);\n```\n\n```java\n/**\n * Removes the {@link javafx.event.EventHandler} with the specific specific \n * {@code actionId}.\n * \n * @param actionId The actionId which should be removed with the associated EventHandler.\n * @return         {@code true} if the EventHandler is removed, otherwise {@code false}.\n * @see            javafx.event.EventHandler\n */\npublic boolean remove(final String actionId);\n```\n\n\n### com.github.naoghuman.lib.action.core.TransferDataBuilder\u003ca name=\"TrDaBu\" /\u003e\n\n```java\n/**\n * With the builder class {@link com.github.naoghuman.lib.action.core.TransferDataBuilder} \n * the developer can create an implementation from the {@code Interface} \n * {@link com.github.naoghuman.lib.action.core.TransferData}.\n * \u003cul\u003e\n * \u003cli\u003eThe first attribute {@code actionId} is mandory to identify the associated \n * {@link javafx.event.EventHandler}.\u003c/li\u003e\n * \u003cli\u003eAll other attributes are optional, that means skipping them returned \n * {@link java.util.Optional#empty()}\u003c/li\u003e\n * \u003cli\u003eException is the method {@code disableLogging()} which allowed the developer\n * to disable the logging from the {@code TransferData} during the {@link javafx.event.ActionEvent}.\u003c/li\u003e\n * \u003c/ul\u003e\n *\n * @author Naoghuman\n * @see    com.github.naoghuman.lib.action.core.TransferData\n * @see    com.github.naoghuman.lib.action.core.TransferDataBuilder\n * @see    java.util.Optional\n * @see    javafx.event.ActionEvent\n * @see    javafx.event.EventHandler\n */\npublic final class TransferDataBuilder\n```\n\n```java\n/**\n * Starts the generation from an implementation from the {@code Interface} \n * {@link com.github.naoghuman.lib.action.core.TransferData}.\n * \n * @return the first step ActionIdStep.\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic static final ActionIdStep create()\n```\n\n```java\n/**\n * First step {@code Interface} {@code ActionIdStep}.\n */\npublic interface ActionIdStep\n```\n\n```java\n/**\n * Let the developer set the attribute {@code actionId} which is \n * associated with an {@link javafx.event.EventHandler}.\n * \u003cp\u003e\n * This attribute is mandory and must {@code not NULL \u0026\u0026 not EMPTY}.\n * \n * @param  actionId identifier for the associated EventHandler.\n * @return The next {@code Step} {@code Interface}.\n * @see    javafx.event.EventHandler\n */\npublic Step actionId(final String actionId);\n```\n\n```java\n/**\n * The {@code Interface} Step contains all optional attributes in the \n * {@code Interface}  {@link com.github.naoghuman.lib.action.core.TransferData} \n * expected the last method {@code build()} in the chain which builds an \n * {@code Implementation} from the interface {@code TransferData}.\n * \n * @see com.github.naoghuman.lib.action.core.TransferData\n */\npublic interface Step\n```\n\n```java\n/**\n * Let the developer disable the logging from the {@link com.github.naoghuman.lib.action.core.TransferData}\n * during the {@link javafx.event.ActionEvent}.\n * \u003cp\u003e\n * {@code Default} the logging is activated.\n * \n * @return The next {@code Step} {@code Interface}.\n * @see    com.github.naoghuman.lib.action.core.TransferData\n * @see    javafx.event.ActionEvent\n */\npublic Step disableLogging();\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Boolean} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Boolean} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Boolean\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step booleanValue(final Boolean value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Character} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Character} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Character\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step characterValue(final Character value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Double} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Double} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Double\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step doubleValue(final Double value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Integer} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Integer} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Integer\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step integerValue(final Integer value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Long} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Long} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Long\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step longValue(final Long value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.Object} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code Object} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.Object\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step objectValue(final Object value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.String} attribute {@code value}. \n * \u003cul\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  value The {@code String} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.String\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step stringValue(final String value);\n```\n\n```java\n/**\n * Let the developer define an optional {@link java.lang.String} attribute {@code responseActionId}. \n * \u003cul\u003e\n * \u003cli\u003eIf set then the attribute can't be {@code NULL} or {@code EMPTY}.\u003c/li\u003e\n * \u003cli\u003eIf this method is used more then ones, then the last usage will be stored for the \n * generation from the {@code Implementation}.\u003c/li\u003e\n * \u003cli\u003eIf not set then the {@code Implementation} from {@link com.github.naoghuman.lib.action.core.TransferData}\n * will returned {@link java.util.Optional#empty()}.\n * \u003c/ul\u003e\n * \n * @param  responseActionId The {@code String} value which should be stored.\n * @return The next {@code Step} {@code Interface}.\n * @see    java.lang.String\n * @see    java.util.Optional\n * @see    com.github.naoghuman.lib.action.core.TransferData\n */\npublic Step responseActionId(final String responseActionId);\n```\n\n```java\n/**\n * Returns an implementation from the {@code Interface} {@link com.github.naoghuman.lib.action.core.TransferData}.\n * \n * @return an implementation from the {@code Interface} {@code TransferData}.\n * \n * @see com.github.naoghuman.lib.action.core.TransferData\n */\npublic TransferData build();\n```\n\n\n### com.github.naoghuman.lib.action.core.TransferData\u003ca name=\"TrDa\" /\u003e\n\n```java\n/**\n * The interface {@link com.github.naoghuman.lib.action.core.TransferData} is a \n * simple readonly POJO to store optional values in an {@link javafx.event.ActionEvent}.\n * An implementation from this interface can be generated with the builder class \n * {@link com.github.naoghuman.lib.action.core.TransferDataBuilder}.\u003cbr\u003e\n * All optional attributes if not set will returned {@link java.util.Optional#empty()}.\n * \u003cp\u003e\n * For additional information how to use the {@code TransferDataBuilder}\n * plz see 'TODO add link to example in readme'.\n *\n * @author Naoghuman\n * @see    com.github.naoghuman.lib.action.core.TransferDataBuilder\n * @see    java.util.Optional\n * @see    javafx.event.ActionEvent\n */\npublic interface TransferData\n```\n\n```java\n/**\n * Get the stored {@link java.lang.String} {@code actionId}.\n * \n * @return The {@code actionId}.\n * @see    java.lang.String\n */\npublic String getActionId();\n```\n\n```java\n/**\n * Get a stored {@link java.lang.Boolean} {@code value} as an {@link java.util.Optional}.\n * \n * @return The stored value as an Optional\u0026lt;Boolean\u0026gt; or Optional.empty().\n * @see    java.lang.Boolean\n * @see    java.util.Optional\n */\npublic Optional\u003cBoolean\u003e getBoolean();\n```\n\n```java\n/**\n * Get a stored {@link java.lang.Character} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;Character\u0026gt; or Optional.empty().\n * @see    java.lang.Character\n * @see    java.util.Optional\n */\npublic Optional\u003cCharacter\u003e getCharacter();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.Double} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;Double\u0026gt; or Optional.empty().\n * @see    java.lang.Double\n * @see    java.util.Optional\n */\npublic Optional\u003cDouble\u003e getDouble();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.Integer} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;Integer\u0026gt; or Optional.empty().\n * @see    java.lang.Integer\n * @see    java.util.Optional\n */\npublic Optional\u003cInteger\u003e getInteger();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.Long} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;Long\u0026gt; or Optional.empty().\n * @see    java.lang.Long\n * @see    java.util.Optional\n */\npublic Optional\u003cLong\u003e getLong();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.Object} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;Object\u0026gt; or Optional.empty().\n * @see    java.lang.Object\n * @see    java.util.Optional\n */\npublic Optional\u003cObject\u003e getObject();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.String} {@code value} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;String\u0026gt; or Optional.empty().\n * @see    java.lang.String\n * @see    java.util.Optional\n */\npublic Optional\u003cString\u003e getString();\n```\n\n```java\n/**\n * Get the stored {@link java.lang.String} {@code responseActionId} as an {@link java.util.Optional}.\n *\n * @return The stored value as an Optional\u0026lt;String\u0026gt; or Optional.empty().\n * @see    java.lang.String\n * @see    java.util.Optional\n */\npublic Optional\u003cString\u003e getResponseActionId();\n```\n\n```java\n/**\n * This flag allowed the developer to verify if the logging from the \n * {@link com.github.naoghuman.lib.action.core.TransferData} during the \n * {@link javafx.event.ActionEvent} is disabled or not.\n * \u003cp\u003e\n * {@code Default} the logging is enabled.\n * \n * @return {@code TRUE} if the logging from the {@code TransferData} disabled\n *         during the handling from the {@code ActionEvent} otherwise {@code FALSE}.\n * @see    javafx.event.ActionEvent\n */\npublic boolean isLoggingDisabled();\n```\n\n\n### com.github.naoghuman.lib.action.core.Registerable\u003ca name=\"ReAb\" /\u003e\n\n```java\n/**\n * With this interface the developer have an {@code official} method to register all methods in \n * the implementing classes which will {@code register} {@link javafx.event.ActionEvent}s during the method\n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler) }\n * with an specific {@code actionId}.\n * \n * @author Naoghuman\n * @see    com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)\n * @see    javafx.event.ActionEvent\n */\npublic interface Registerable\n```\n\n```java\n/**\n * Implementing this method alloweds the developer to {@code register} all methods in the \n * implementing class which will {@code register} {@link javafx.event.ActionEvent}s during the method\n * {@link com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler) }.\n * \n * @author Naoghuman\n * @see com.github.naoghuman.lib.action.core.ActionHandler#register(java.lang.String, javafx.event.EventHandler)\n * @see javafx.event.ActionEvent\n */\npublic void register();\n```\n\n\n\nDownload\u003ca name=\"Download\" /\u003e\n---\n\nCurrent `version` is `0.6.0`. Main points in this release are:\n* This is a minor update.\n* Add for all default implementations and builders JUnitTests.\n* Remove the deprecated content.\n\n**Maven coordinates**  \nIn context from a [Maven] project you can use following maven coordinates: \n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.naoghuman\u003c/groupId\u003e\n        \u003cartifactId\u003elib-action\u003c/artifactId\u003e\n        \u003cversion\u003e0.6.0\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.naoghuman\u003c/groupId\u003e\n        \u003cartifactId\u003elib-logger\u003c/artifactId\u003e\n        \u003cversion\u003e0.6.0\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\nDownload:\n* [Release v6.0 (01.28.2018 / MM.dd.yyyy)]\n\nAn overview about all existings releases can be found here:\n* [Overview from all releases in Lib-Action]\n\n\n\nRequirements\u003ca name=\"Requirements\" /\u003e\n---\n\n* On your system you need [JRE 8] or [JDK 8] installed.\n* The library [lib-action-0.6.0.jar](#Installation).\n\nIn the library are following libraries registered as dependencies:\n* The library [lib-logger-0.6.0.jar](#Installation).\n  * Included in `Lib-Logger` is the library [log4j-api-2.10.0.jar].\n  * Included is `Lib-Logger` is the library [log4j-core-2.10.0.jar].\n\n\n\nInstallation\u003ca name=\"Installation\" /\u003e\n---\n\n##### Install the project in your preferred IDE\n\n* If not installed download the [JRE 8] or the [JDK 8].\n    - Optional: To work better with [FXML] files in a [JavaFX] application \n      download the [JavaFX Scene Builder] under 'Additional Resources'.\n* Choose your preferred IDE (e.g. [NetBeans], [Eclipse] or [IntelliJ IDEA]) for development.\n* Download or clone [Lib-Action].\n* Download or clone [Lib-Logger].\n* Open the projects in your IDE and run them.\n\n\n\nDocumentation\u003ca name=\"Documentation\" /\u003e\n---\n\n* In section [Api](#Api) you can see the main point(s) to access the functionality \n  in this library.\n* For additional information see the [JavaDoc] in the library itself.\n\n\n\nContribution\u003ca name=\"Contribution\" /\u003e\n---\n\n* If you find a `Bug` I will be glad if you could report an [Issue].\n* If you want to contribute to the project plz fork the project and do a [Pull Request].\n\n\n\nLicense\u003ca name=\"License\" /\u003e\n---\n\nThe project `Lib-Action` is licensed under [General Public License 3.0].\n\n\n\nAutor\u003ca name=\"Autor\" /\u003e\n---\n\nThe project `Lib-Action` is maintained by me, Peter Rogge. See [Contact](#Contact).\n\n\n\nContact\u003ca name=\"Contact\" /\u003e\n---\n\nYou can reach me under \u003cpeter.rogge@yahoo.de\u003e.\n\n\n\n[//]: # (Images)\n[UML-diagram_Lib-Action_v0.6.0_2018-01-27_04-10]:https://user-images.githubusercontent.com/8161815/35468137-610bfce6-0318-11e8-891a-7c69cb1905a3.png\n\n\n\n[//]: # (Links)\n[ActionEvent]:http://docs.oracle.com/javase/8/javafx/api/javafx/event/ActionEvent.html\n[Builder pattern]:https://en.wikipedia.org/wiki/Builder_pattern\n[Eclipse]:https://www.eclipse.org/\n[EventHandler]:http://docs.oracle.com/javase/8/javafx/api/javafx/event/EventHandler.html\n[Fluent Interface]:https://www.martinfowler.com/bliki/FluentInterface.html\n[FXML]:http://docs.oracle.com/javafx/2/fxml_get_started/jfxpub-fxml_get_started.htm\n[General Public License 3.0]:http://www.gnu.org/licenses/gpl-3.0.en.html\n[GenMyModel]:https://www.genmymodel.com/\n[IntelliJ IDEA]:http://www.jetbrains.com/idea/\n[Issue]:https://github.com/Naoghuman/lib-action/issues\n[JavaDoc]:http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html\n[JavaFX]:http://docs.oracle.com/javase/8/javase-clienttechnologies.htm\n[JavaFX Scene Builder]:http://www.oracle.com/technetwork/java/javase/downloads/index.html\n[JDK 8]:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n[JRE 8]:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html\n[Lib-Action]:https://github.com/Naoghuman/lib-action\n[Lib-Logger]:https://github.com/Naoghuman/lib-logger\n[log4j-api-2.10.0.jar]:https://logging.apache.org/log4j/2.0/log4j-web/dependencies.html\n[log4j-core-2.10.0.jar]:https://logging.apache.org/log4j/2.0/log4j-web/dependencies.html\n[Maven]:http://maven.apache.org/\n[NetBeans]:https://netbeans.org/\n[Overview from all releases in Lib-Action]:https://github.com/Naoghuman/lib-action/releases\n[Pull Request]:https://help.github.com/articles/using-pull-requests\n[Release v6.0 (01.28.2018 / MM.dd.yyyy)]:https://github.com/Naoghuman/lib-action/releases/tag/v0.6.0\n[Step builder pattern]:http://www.svlada.com/step-builder-pattern/\n[UML]:https://en.wikipedia.org/wiki/Unified_Modeling_Language\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaoghuman%2Flib-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaoghuman%2Flib-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaoghuman%2Flib-action/lists"}