1 /*
2 * jDTAUS Core API
3 * Copyright (C) 2005 Christian Schulte
4 * <cs@schulte.it>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or any later version.
10 *
11 * This library 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 GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 */
21 package org.jdtaus.core.container;
22
23 /**
24 * Object management and configuration model.
25 * <p>The object management and configuration model destinguishes between
26 * specifications and implementations defined in modules. Specifications specify
27 * some public programming interface to be implemented by implementations.
28 * Implementations may define configuration properties and may depend on other
29 * implementations. When defining dependencies, properties defined for the
30 * implementation of the dependency may be overwritten by properties defined for
31 * the dependency.</p>
32 *
33 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
34 * @version $JDTAUS: Model.java 8641 2012-09-27 06:45:17Z schulte $
35 *
36 * @see ModelFactory
37 */
38 public interface Model
39 {
40 //--Model-------------------------------------------------------------------
41
42 /**
43 * Gets the modules of the model.
44 *
45 * @return the modules of the model.
46 *
47 * @throws ModelError for unrecoverable model errors.
48 */
49 Modules getModules();
50
51 //-------------------------------------------------------------------Model--
52 }