Class DummyService
java.lang.Object
net.sf.basedb.clients.web.extensions.service.DummyService
- All Implemented Interfaces:
ServiceControllerAction
,Action
,ActionFactory<ServiceControllerAction>
public class DummyService
extends Object
implements ServiceControllerAction, ActionFactory<ServiceControllerAction>
A dummy service implementation that prints out the current
time on
System.out
every x seconds (default = 10) when
the service is running. It will also print out messages when the service
is started and stopped and in some other places.
The service is it's own action factory and controller.
- Version:
- 2.8
- Author:
- nicklas
- Last modified
- $Date: 2023-03-09 14:54:41 +0100 (Thu, 09 Mar 2023) $
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetActions
(InvokationContext<? super ServiceControllerAction> context) This method may be called one or several times for each request.boolean
Is the service running or not?boolean
prepareContext
(InvokationContext<? super ServiceControllerAction> context) This method is called once for each request/use of an extension and have two purposes: The factory should decide if the extension should be enabled or not.void
setInterval
(String seconds) Set the interval between writes to stdout.void
start()
Start the service if it is not already running.void
stop()
Stop the service if it is running.toString()
-
Field Details
-
running
private boolean running -
timer
-
interval
private long interval -
extensionId
-
-
Constructor Details
-
DummyService
public DummyService()
-
-
Method Details
-
getActions
public ServiceControllerAction[] getActions(InvokationContext<? super ServiceControllerAction> context) Description copied from interface:ActionFactory
This method may be called one or several times for each request. This is decided by the extension point. If, for example, the extension point is a pure single-item extension point then this method is probably only called once. If the extension point is a per-item extension point in a list context, then this method may be called once for every item in the list. The context parameter contains all information about the context of the extension point, including the current item, if any.- Specified by:
getActions
in interfaceActionFactory<ServiceControllerAction>
- Parameters:
context
- The current invokation context- Returns:
- An array of actions that should be added to the extension point. Returns null or an empty array if there are no actions in the current context.
-
prepareContext
Description copied from interface:ActionFactory
This method is called once for each request/use of an extension and have two purposes:- The factory should decide if the extension should be enabled or not. For example, the factory may check the permissions of the logged in user and determine that they are inadequate. The boolean return value determines if the extension is enabled or disabled.
- Initialise the context with resources that the actions may need.
With the BASE web-client this means that it is possible to
add scripts or stylesheets that is needed by the extension.
See
JspContext
.
- Specified by:
prepareContext
in interfaceActionFactory<ServiceControllerAction>
- Parameters:
context
- The current invokation context- Returns:
- TRUE if the extension should be enabled, FALSE if the extension should be disabled
-
isRunning
public boolean isRunning()Description copied from interface:ServiceControllerAction
Is the service running or not?- Specified by:
isRunning
in interfaceServiceControllerAction
-
start
public void start()Description copied from interface:ServiceControllerAction
Start the service if it is not already running. If this method is called on a running service it should do nothing. If the service can't be started it may throw an exception.- Specified by:
start
in interfaceServiceControllerAction
-
stop
public void stop()Description copied from interface:ServiceControllerAction
Stop the service if it is running. If this method is called on a service that is not running, it should do nothing. If the service can't be stopped it may throw an exception.- Specified by:
stop
in interfaceServiceControllerAction
-
setInterval
Set the interval between writes to stdout.- Parameters:
seconds
- The interval in seconds
-
toString
-