com.atlassian.jira.service
Interface ServiceManager

All Superinterfaces:
JiraManager
All Known Implementing Classes:
DefaultServiceManager

public interface ServiceManager
extends JiraManager


Method Summary
 JiraServiceContainer addService(String name, String clazz, long delay)
          This will add a service configuration to the JIRA db and the service to the list of services which are running.
 boolean containsServiceWithId(Long id)
          Quick way of telling whether a service with a specific id is registered or not.
 void editService(Long id, long delay, Map params)
          This will update the service if a service with this id can be found.
 void editServiceByName(String name, long delay, Map params)
          This will update the service if a service by this name can be found.
 Collection getServices()
          This gets all currently registered services with JIRA.
 JiraServiceContainer getServiceWithId(Long id)
          This will return a JiraServiceContainer for the provided id if one is registered otherwise it will return null.
 JiraServiceContainer getServiceWithName(String name)
          This will returna JiraServiceContainer for the provided name if one is registered, otherwise this will return null.
 void refreshAll()
          This will force a complete re-synch of the service cache with the values stored in the db.
 void refreshService(Long id)
          This will update the in-memory cache with the values from the db for the service with the id if it can be resolved.
 void refreshServiceByName(String name)
          This will update the in-memory cache with the values from the db for the named service if it can be resolved.
 void removeService(Long id)
          This will remove a service from the db and cache and it will try to resolve the service by id.
 void removeServiceByName(String name)
          This will remove a service from the db and cache and it will try to resolve the service by name.
 

Method Detail

getServices

public Collection getServices()
This gets all currently registered services with JIRA. This is an unmodifiable Collections that is returned, modifications to the services map will be made as a side-effect of calling the edit/refresh/add/remove methods of this manager.

Returns:
an unmodifiable Collection with JiraServiceContainers as the value

addService

public JiraServiceContainer addService(String name,
                                       String clazz,
                                       long delay)
                                throws Exception
This will add a service configuration to the JIRA db and the service to the list of services which are running.

Parameters:
name - the key this service is to be known by
clazz - the class defining the service
delay - how often the service should run in milliseconds
Returns:
the JiraServiceContainer that was just created
Throws:
Exception - if there is a problem creating the service

getServiceWithId

public JiraServiceContainer getServiceWithId(Long id)
                                      throws Exception
This will return a JiraServiceContainer for the provided id if one is registered otherwise it will return null.

Returns:
a JiraServiceContainer that is represented by the unique id.
Throws:
Exception - if there is a problem looking up the value in the db.

getServiceWithName

public JiraServiceContainer getServiceWithName(String name)
                                        throws Exception
This will returna JiraServiceContainer for the provided name if one is registered, otherwise this will return null.

Parameters:
name - the name of the JiraServiceContainer
Returns:
a JiraServiceContainer if it is registered otherwise null
Throws:
Exception - if there is a problem looking up the value in the db.

containsServiceWithId

public boolean containsServiceWithId(Long id)
Quick way of telling whether a service with a specific id is registered or not.

Returns:
true if the service with the id is registered

editServiceByName

public void editServiceByName(String name,
                              long delay,
                              Map params)
                       throws Exception
This will update the service if a service by this name can be found. The delay and the params will be updated.

Parameters:
name - the name of the service to find.
delay - the delay to set on the service in milliseconds
params - the params to set on the service
Throws:
IllegalArgumentException - if the name can not be resolved
Exception

editService

public void editService(Long id,
                        long delay,
                        Map params)
                 throws Exception
This will update the service if a service with this id can be found. The delay and the params will be updated.

Parameters:
id - the id of the service to find.
delay - the delay to set on the service in milliseconds
params - the params to set on the service
Throws:
Exception - if there is a problem updating the value

refreshServiceByName

public void refreshServiceByName(String name)
                          throws Exception
This will update the in-memory cache with the values from the db for the named service if it can be resolved.

Parameters:
name - the name of the service to find.
Throws:
IllegalArgumentException - if the name can not be resolved
Exception

refreshService

public void refreshService(Long id)
                    throws Exception
This will update the in-memory cache with the values from the db for the service with the id if it can be resolved.

Parameters:
id - the id of the service to find.
Throws:
Exception - if the value can not be refreshed

removeServiceByName

public void removeServiceByName(String name)
                         throws Exception
This will remove a service from the db and cache and it will try to resolve the service by name.

Parameters:
name - the name of the service to find.
Throws:
IllegalArgumentException - if the name can not be resolved
Exception

removeService

public void removeService(Long id)
                   throws Exception
This will remove a service from the db and cache and it will try to resolve the service by id.

Parameters:
id - the id of the service to find.
Throws:
Exception - if there is a problem removing the service

refreshAll

public void refreshAll()
This will force a complete re-synch of the service cache with the values stored in the db.



Copyright © 2002-2006 Atlassian. All Rights Reserved.