/* * Copyright 2003-2004 The Apache Software Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. * * See the License for the specific language governing permissions and * limitations under the License. */ namespace Apache.Avalon.Composition.Model { using System; using Apache.Avalon.Framework; using Apache.Avalon.Composition.Data; using Apache.Avalon.Meta; /// Defintion of a working context. /// /// /// Avalon Development Team /// /// $Revision: 1.1 $ $Date: 2004/02/28 22:15:43 $ /// public interface IContainmentContext : IDeploymentContext { /// Return the classloader model. /// /// /// the type manager assigned to the containment model. /// ITypeLoaderModel TypeLoaderModel { get; } /// Return the working directory for a container. /// /// /// the working directory /// System.IO.FileInfo HomeDirectory { get; } /// Return the temporary directory for a container. /// /// /// the temporary directory /// System.IO.FileInfo TempDirectory { get; } /// Return the containment profile. /// /// /// the containment profile /// ContainmentProfile ContainmentProfile { get; } /// Return the model repository. /// /// /// the model repository /// IModelRepository ModelRepository { get; } /// Return the parent container model. If the container is a root /// container, the operation shall return a null value. /// /// /// the parent containment model /// IContainmentModel ParentContainmentModel { get; } } }