001/* 002 * jDTAUS Core API 003 * Copyright (C) 2005 Christian Schulte 004 * <cs@schulte.it> 005 * 006 * This library is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 2.1 of the License, or any later version. 010 * 011 * This library is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public 017 * License along with this library; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 019 * 020 */ 021package org.jdtaus.core.container; 022 023/** 024 * Object management and configuration model. 025 * <p>The object management and configuration model destinguishes between 026 * specifications and implementations defined in modules. Specifications specify 027 * some public programming interface to be implemented by implementations. 028 * Implementations may define configuration properties and may depend on other 029 * implementations. When defining dependencies, properties defined for the 030 * implementation of the dependency may be overwritten by properties defined for 031 * the dependency.</p> 032 * 033 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 034 * @version $JDTAUS: Model.java 8641 2012-09-27 06:45:17Z schulte $ 035 * 036 * @see ModelFactory 037 */ 038public interface Model 039{ 040 //--Model------------------------------------------------------------------- 041 042 /** 043 * Gets the modules of the model. 044 * 045 * @return the modules of the model. 046 * 047 * @throws ModelError for unrecoverable model errors. 048 */ 049 Modules getModules(); 050 051 //-------------------------------------------------------------------Model-- 052}