2 * This file is part of the Vamsas Client version 0.1.
\r
3 * Copyright 2009 by Jim Procter, Iain Milne, Pierre Marguerite,
\r
4 * Andrew Waterhouse and Dominik Lindner.
\r
6 * Earlier versions have also been incorporated into Jalview version 2.4
\r
7 * since 2008, and TOPALi version 2 since 2007.
\r
9 * The Vamsas Client is free software: you can redistribute it and/or modify
\r
10 * it under the terms of the GNU Lesser General Public License as published by
\r
11 * the Free Software Foundation, either version 3 of the License, or
\r
12 * (at your option) any later version.
\r
14 * The Vamsas Client is distributed in the hope that it will be useful,
\r
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
17 * GNU Lesser General Public License for more details.
\r
19 * You should have received a copy of the GNU Lesser General Public License
\r
20 * along with the Vamsas Client. If not, see <http://www.gnu.org/licenses/>.
\r
22 package uk.ac.vamsas.client;
\r
25 * Object for accessing Client and User specific data in an IClientDocument
\r
29 public interface IClientAppdata {
\r
31 * @return true if Client's non-user specific application data is non-zero
\r
34 boolean hasClientAppdata();
\r
37 * @return true if User's Client Application data is non-zero length
\r
39 boolean hasUserAppdata();
\r
43 * @return byte array containing the Client's non-user specific application
\r
46 byte[] getClientAppdata();
\r
50 * @return byte array containing the Client's user specific application data
\r
52 byte[] getUserAppdata();
\r
55 * set the non-User-specific application data
\r
58 * - the new non-user-specific data
\r
60 void setClientAppdata(byte[] data);
\r
63 * set the User-specific application data
\r
66 * - the new user-specific data
\r
68 void setUserAppdata(byte[] data);
\r
71 * @return non-user specific data output stream
\r
73 AppDataOutputStream getClientOutputStream();
\r
76 * @return non-user specific data input stream
\r
78 AppDataInputStream getClientInputStream();
\r
82 * @return user specific data output stream
\r
84 AppDataOutputStream getUserOutputStream();
\r
88 * @return user specific data input stream
\r
90 AppDataInputStream getUserInputStream();
\r