1 /*
2 * Copyright (c) 2003
3 * Information Desire GmbH
4 * All rights reserved.
5 */
6 package com.infodesire.infobit.external;
7
8 import com.infodesire.infobit.InfobitException;
9 import com.infodesire.infobit.InfobitManager;
10 import com.infodesire.infobit.InfobitSecurityException;
11
12 import com.infodesire.infobit.data.Acl;
13
14 import java.io.Reader;
15
16 import java.util.List;
17
18 /***
19 * Defines the protocol to recover a collection of infobits from the XML
20 * representation generated by {@link InfobitExporter} back to infobits.
21 *
22 * @author peter2
23 * @created August 28, 2003
24 * @version $Revision: 1.1 $
25 */
26 public interface InfobitImporter {
27
28 /***
29 * Defines the manager to work with.
30 *
31 * @param manager The manager to access infobits
32 */
33 void setManager(InfobitManager manager);
34
35
36 /***
37 * Gets the manager to work with.
38 *
39 * @return The manager to access infobits
40 */
41 InfobitManager getManager();
42
43
44 /***
45 * Defines the ACL used to create imported infobits and content
46 *
47 * @param acl The new Acl value
48 */
49 public void setAcl(Acl acl);
50
51
52 /***
53 * Prepares the instance to be used.
54 *
55 * @exception InfobitException Description of Exception
56 */
57 void init() throws InfobitException;
58
59
60 /***
61 * Recovers infobits from an XML representation as created by {@link
62 * InfobitExporter#export InfobitExporter.export}. The infobits to be
63 * importer are subjected to the following constraints:
64 * <ul>
65 * <li> Versions and infobits must not form circular dependencies
66 * <li> Infobits already existing in the data store (identified by name)
67 * must not be imported
68 * <li> Infobits referenced as templates of script versions or as link
69 * targets must either be imported or already exist in the data store.
70 *
71 * <li> The common constraints on unique version and infobit names apply.
72 *
73 * </ul>
74 *
75 *
76 * @param input Source from which to obtain the XML
77 * document representing the infobits to import
78 * @param path System location of <code>input</code>
79 * , used in diagnostic messages
80 * @param diagnostics A list to be filled with {@link
81 * ImportMessage} instances providing diagnostic messages about errors
82 * encountered during the import.
83 * @return A collection of the imported
84 * infobits.
85 * @exception InfobitException Generic processing error
86 * @exception InfobitSecurityException Description of Exception
87 */
88 List importInfobits(Reader input, String path, List diagnostics)
89 throws InfobitException, InfobitSecurityException;
90
91 }
This page was automatically generated by Maven