View Javadoc

1   package be.dvw.administration.services.instruments;
2   
3   import java.util.List;
4   import be.dvw.administration.model.Instrument;
5   
6   /***
7    * Service interface allowing to retrieve and manipulate scores in the persistence store
8    * (depending on the implementation used).
9    */
10  public interface InstrumentService
11  {
12      /***
13       * Method returning the complete list of instruments.
14       * @return List of instruments
15       * @throws Exception
16       */
17      public List getAll() throws Exception;
18  
19      /***
20       * Method allowing to store a instrument (both update and create)
21       * @param instrument: the instrument to be saved
22       * @param newInstrument: boolean indicating wheter it is an update or a create
23       * @return the instrument as stored in the database
24       * @throws Exception
25       */
26      public Instrument save(Instrument instrument, boolean newInstrument) throws Exception;
27  
28      /***
29       * Method allowing to delete a instrument
30       * @param id the identifier of the instrument
31       * @throws Exception
32       */
33      public void delete(int id) throws Exception;
34  
35      /***
36       * Method returning a instrument corresponding to the id
37       * @param id
38       * @return the instrument corresponding to the id
39       * @throws Exception
40       */
41      public Instrument load(int id) throws Exception;
42  
43      /***
44       * Method allowing to search for instruments based on an search string suc as:
45       * 'name' = $name AND 'composer' = $composer OR 'arranger' = $arranger
46       * @todo define the format of the search string (SQL, HQL, ...)
47       * @param searchString
48       * @return List of instruments containing the search result
49       * @throws Exception
50       */
51      public List search(String searchString) throws Exception;
52  
53      /***
54       * Method returning the current value of the inventory
55       * @return the current value of the inventory (all instruments) being the purchase value
56       * less the depreciation
57       */
58      public float getCurrentValue();
59  
60      /***
61       * Method returning the purchase value of the inventory
62       * @return the purchase value
63       */
64      public float getPurchaseValue();
65  
66      /***
67       * Method counting the total number of instruments in the inventory
68       * @return number of instruments in the inventory
69       */
70      public int getTotalNumber();
71  
72  }