1 /* ====================================================================
2 * Bigyo Software License, version 1.1
3 *
4 * Copyright (c) 2004, Zsombor Gegesy. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. Neither the name of the Bigyo Group nor the name "Bigyo" nor
18 * the names of its contributors may be used to endorse or promote
19 * products derived from this software without specific prior
20 * written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 * ====================================================================
36 */
37
38 package net.sf.bigyo.container.api;
39
40 import java.io.File;
41 import java.util.List;
42
43 import net.sf.bigyo.api.ContainerException;
44 import net.sf.bigyo.container.config.ConfigurationStrategy;
45
46 /***
47 * The public interface to the component repository.
48 *
49 * Created on 2004.10.02.
50 * @author zsombor
51 *
52 *
53 */
54 public interface Repository {
55 /***
56 * Return a list of component which provides the specified type.
57 *
58 * @param classAlias
59 * @return
60 */
61 abstract List getObjectsFor(String classAlias);
62
63 /***
64 * Throw exception if duplicate component name found.
65 *
66 * @param panicIfDuplicates
67 * The panicIfDuplicates to set.
68 */
69 abstract void setPanicIfDuplicateFound(boolean panicIfDuplicates);
70
71 /***
72 * @return Returns the configurationStrategy.
73 */
74 abstract ConfigurationStrategy getConfigurationStrategy();
75
76 /***
77 * @param configurationStrategy
78 * The configurationStrategy to set.
79 */
80 abstract void setConfigurationStrategy(ConfigurationStrategy configurationStrategy);
81
82 /***
83 * When configuration are persisted, if it's set to true, than backup files
84 * will be created.
85 *
86 * @param createBackups
87 * The createBackups to set.
88 */
89 abstract void setCreateBackups(boolean createBackups);
90
91 /***
92 * When configuration are persisted, if it's set to true, than backup files
93 * will be created.
94 *
95 * @return Returns the createBackups.
96 */
97 abstract boolean isCreateBackups();
98
99 /***
100 * Save configuration to the specified <b>directory </b>.
101 *
102 * @param file
103 * The directory.
104 * @throws ContainerException
105 */
106 abstract void saveConfigurations(File file) throws ContainerException;
107 }
This page was automatically generated by Maven