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