View Javadoc

1   /*
2    * Copyright (C) 2004 Christian Siefkes <christian@siefkes.net>.
3    * Development of this software is supported by the German Research Society,
4    * Berlin-Brandenburg Graduate School in Distributed Information Systems
5    * (DFG grant no. GRK 316).
6    *
7    * This library is free software; you can redistribute it and/or
8    * modify it under the terms of the GNU Lesser General Public
9    * License as published by the Free Software Foundation; either
10   * version 2.1 of the License, or (at your option) any later version.
11   *
12   * This library is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this library; if not, visit
19   * http://www.gnu.org/licenses/lgpl.html or write to the Free Software
20   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21   */
22  package de.fu_berlin.ties.io;
23  
24  /***
25   * Classes implementing this interface contain multiple
26   * {@link de.fu_berlin.ties.io.Storable} objects and support serialization
27   * and deserialization of these objects in a human-readable format.
28   *
29   * @author Christian Siefkes
30   * @version $Revision: 1.1 $, $Date: 2004/02/12 18:31:09 $, $Author: siefkes $
31   */
32  public interface RestorableContainer extends StorableContainer {
33  
34      /***
35       * Restores items stored in a field container and adds them to this
36       * instance. The provided field container must have been filled by calling
37       * {@link #storeEntries(FieldContainer)} on a container of the same or
38       * an equivalent type.
39       *
40       * @param fContainer the field container to read
41       * @throws IllegalArgumentException if <code>fContainer</code> contains
42       * a wrong kind of {@link FieldMap}s
43       */
44      void restoreEntries(final FieldContainer fContainer)
45          throws IllegalArgumentException;
46  
47  }