4df6abb5bd007b723f3fd6ba61cca2a8ee10aa5f
[vamsas.git] / src / uk / ac / vamsas / client / IClientAppdata.java
1 /**
2  * 
3  */
4 package uk.ac.vamsas.client;
5
6
7
8 /**
9  * Object for accessing Client and User specific data
10  * in an IClientDocument instance. 
11  *
12  */
13 public interface IClientAppdata {
14   /**
15    * @return true if Client's non-user specific application data is non-zero length.
16    */
17   boolean hasClientAppdata();
18   /**
19    * @return true if User's Client Application data is non-zero length
20    */
21   boolean hasUserAppdata();
22   /**
23    * 
24    * @return byte array containing the Client's non-user specific application data
25    */
26   byte[] getClientAppdata();
27   /**
28    * 
29    * @return byte array containing the Client's user specific application data
30    */
31   byte[] getUserAppdata();
32   /**
33    * set the non-User-specific application data
34    * @param data - the new non-user-specific data
35    */
36   void setClientAppdata(byte[] data);
37   /**
38    * set the User-specific application data
39    * @param data - the new user-specific data
40    */
41   void setUserAppdata(byte[] data);
42   /**
43    * @return non-user specific data output stream 
44    */
45   AppDataOutputStream getClientOutputStream();
46   /**
47    * @return non-user specific data input stream 
48    */
49   AppDataInputStream getClientInputStream();
50   /**
51    * 
52    * @return user specific data output stream
53    */
54   AppDataOutputStream getUserOutputStream();
55   /**
56    * 
57    * @return user specific data input stream
58    */
59   AppDataInputStream getUserInputStream();
60 }