View Javadoc

1   /********************************************************************************
2    * InternetCafe is a software solution that helps the management of Cybercafes 
3    * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4    * Copyright (C) 2006  Guido Angelo Ingenito
5   
6    * This program is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU General Public License
8    * as published by the Free Software Foundation; either version 2
9    * of the License, or (at your option) any later version.
10  
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   * 
16   * You should have received a copy of the GNU General Public License
17   * along with this program; if not, write to the Free Software
18   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19   *******************************************************************************/
20  
21  package base.user.jcard;
22  
23  import java.io.Reader;
24  import java.io.Writer;
25  
26  import base.user.User;
27  
28  /***
29   * This interface defines some IO methods to export and 
30   * import an internet-cafe User instance to/in a JCard (vCard format). 
31   * @author skunk
32   *
33   */
34  public interface IVCard {
35  
36  	/***
37  	 * This method should be imlemented in order 
38  	 * to import and create a new vCard instance from a 
39  	 * vCard file.
40  	 * @param reader The reader associated to the file to be loaded as a vCard.
41  	 */
42  	public void read(Reader reader) throws JCardException;
43  	
44  	/***
45  	 * This method should be imlemented in order 
46  	 * to export a vCard instace to a file.
47  	 * @param writer The writer associated to the file where the vCard must be saved.
48  	 * @throws JCardException 
49  	 */
50  	public void write(Writer writer) throws JCardException;
51  	
52  	
53  	/***
54  	 * This method has to be implemented in order to create a new 
55  	 * internet-cafe User instance given a valid and alredy instanced JCard.
56  	 * @param jcard The JCard from wich the user must be instantiated.
57  	 * @return A new instance of User with parameters taken from the jcard instance.
58  	 */
59  	public User newUser(JCard jcard);
60  	
61  	/***
62  	 * This method has to be implemented in order to create a new 
63  	 * JCard instance given a valid and alredy instanced internet-cafe user.
64  	 * @param user The internet-cafe User instance whose parameters must be exported as a JCard.
65  	 * @return A new instance of JCard whose parameters and properties are contained in the internet-cafe User instance passes as formal parameter.
66  	 */
67  	public JCard newJCard(User user);
68  	
69  }