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

org.ligoj.app.api.ServicePlugin Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under MIT (https://github.com/ligoj/ligoj/blob/master/LICENSE)
 */
package org.ligoj.app.api;

/**
 * A plug-in. The plug-in behavior is massively based on naming convention. The rules are an extension of the ones of
 * {@link org.ligoj.bootstrap.core.plugin.FeaturePlugin} for the key of the plug-in determines the required parent and
 * the namespace for web assets. For sample the key service:s:t means :
 * 
    *
  • "service" is a constant part, and required. And will be published inside the "/service" REST namespace.
  • *
  • "s" is the first level of service. Lower case part, following the pattern [a-z\\d]+
  • *
  • "t" is the first level of service. Lower case part, following the pattern [a-z\\d]+
  • *
*/ public interface ServicePlugin extends org.ligoj.bootstrap.core.plugin.FeaturePlugin { /** * Delete a subscription. * * @param subscription the subscription identifier. * @param remoteData When true, remote data will be also destroyed. * @throws Exception Deletion failed. This error is caught at higher level. */ default void delete(int subscription, boolean remoteData) throws Exception { // NOSONAR Everything could happen // No custom data by default } /** * Complete the subscription in creation mode. Link data still required. * * @param subscription the subscription identifier is being created. * @throws Exception Create failed. This error is caught at higher level. */ default void create(int subscription) throws Exception { // NOSONAR Everything could happen // No custom data by default } /** * Complete the subscription in link mode. * * @param subscription the subscription identifier is being created. * @throws Exception Link failed. This error is caught at higher level. */ default void link(int subscription) throws Exception { // NOSONAR Everything could happen // No custom data by default } /** * Delete a node. * * @param node The node identifier. * @param remoteData When true, remote data will be also destroyed. * @throws Exception Delete failed. This error is caught at higher level. */ default void delete(String node, boolean remoteData) throws Exception { // NOSONAR Everything could happen // No custom data by default } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy