// 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.Data { using System; /// Abstract base class for DeploymentProfile and ContainmentProfile. /// /// /// Avalon Development Team /// /// $Revision: 1.2 $ $Date: 2004/02/28 22:15:36 $ /// [Serializable] public abstract class Profile { //-------------------------------------------------------------------------- // state //-------------------------------------------------------------------------- /// The name of the component profile. This is an /// abstract name used during assembly. /// private System.String m_name; /// The activation policy. private ActivationPolicy m_activation; /// The mode under which this profile was established. private Mode m_mode; //-------------------------------------------------------------------------- // constructor //-------------------------------------------------------------------------- public Profile(System.String name, ActivationPolicy activation, Mode mode) { m_activation = activation; m_mode = mode; if ((System.Object) name == null) { m_name = "untitled"; } else { m_name = name; } } /// Return the name of meta-data instance. /// /// /// the name of the component. /// public virtual System.String Name { get { return m_name; } } /// Get the activation policy for the profile. public virtual ActivationPolicy ActivationPolicy { get { return m_activation; } } /// Returns the creation mode for this profile. /// a value of EXPLICIT, PACKAGED or IMPLICIT /// public virtual Mode Mode { get { return m_mode; } } //-------------------------------------------------------------------------- // implementation //-------------------------------------------------------------------------- /// Returns a string representation of the profile. /// a string representation /// public override System.String ToString() { return "[" + Name + "]"; } } }