avalon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ymikul...@apache.org
Subject cvs commit: jakarta-avalon-excalibur/csframework/src/cs/Util ContainerUtil.cs
Date Thu, 23 Jan 2003 21:50:47 GMT
ymikulski    2003/01/23 13:50:47

  Modified:    csframework/src/cs/Service IServiceSelector.cs
                        IServiceable.cs
               csframework/src/cs/Parameters Parameters.cs
               csframework/src/cs/Activity ISuspendable.cs IStartable.cs
                        IInitializable.cs IExecutable.cs IDisposable.cs
               csframework/src/cs/Context DefaultContext.cs
                        ContextException.cs
               csframework/src/cs/Configuration IReconfigurable.cs
                        IConfiguration.cs IConfigurable.cs
                        DefaultConfigurationSerializer.cs
                        DefaultConfigurationSectionHandler.cs
                        DefaultConfiguration.cs ConfigurationException.cs
                        ConfigurationCollection.cs AbstractConfiguration.cs
               csframework/src/cs/Util ContainerUtil.cs
  Log:
  no message
  
  Revision  Changes    Path
  1.3       +1 -1      jakarta-avalon-excalibur/csframework/src/cs/Service/IServiceSelector.cs
  
  Index: IServiceSelector.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Service/IServiceSelector.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IServiceSelector.cs	25 Sep 2002 22:48:11 -0000	1.2
  +++ IServiceSelector.cs	23 Jan 2003 21:50:33 -0000	1.3
  @@ -10,7 +10,7 @@
   namespace Apache.Avalon.Service
   {
   	/// <summary>
  -	///	A <code>IServiceSelector</code> selects components based on a
  +	///	A <c>IServiceSelector</c> selects components based on a
   	/// supplied policy.  The contract is that all the components implement the
   	/// same role.
   	/// </summary>
  
  
  
  1.3       +3 -3      jakarta-avalon-excalibur/csframework/src/cs/Service/IServiceable.cs
  
  Index: IServiceable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Service/IServiceable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IServiceable.cs	25 Sep 2002 22:48:11 -0000	1.2
  +++ IServiceable.cs	23 Jan 2003 21:50:33 -0000	1.3
  @@ -24,14 +24,14 @@
   	public interface IServiceable
   	{
   		/// <summary>
  -		/// Pass the <see cref="IServiceManager"/> to the <code>IServiceable</code>. 
  +		/// Pass the <see cref="IServiceManager"/> to the <c>IServicable</c>. 
   		/// 
  -		/// The <code>IServiceable</code> implementation should use the specified
  +		/// The <c>IServiceable</c> implementation should use the specified
   		/// <see cref="IServiceManager"/> to acquire the components it needs for execution.
   		/// </summary>
   		/// <param name="manager">
   		/// The <see cref="IServiceManager"/> which 
  -		/// this <code>IServiceable</code> uses.
  +		/// this <c>IServiceable</c> uses.
   		/// </param>
   		/// <exception cref="ServiceException">if an error occurs</exception>
   		void Service( IServiceManager manager );
  
  
  
  1.7       +22 -26    jakarta-avalon-excalibur/csframework/src/cs/Parameters/Parameters.cs
  
  Index: Parameters.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Parameters/Parameters.cs,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Parameters.cs	19 Nov 2002 10:35:13 -0000	1.6
  +++ Parameters.cs	23 Jan 2003 21:50:33 -0000	1.7
  @@ -11,7 +11,6 @@
   
   using Apache.Avalon.Util;
   
  -
   namespace Apache.Avalon.Parameter
   {
   	/// <summary>
  @@ -26,6 +25,10 @@
   	[Serializable]
   	public class Parameters: IEnumerable, ISerializable
   	{
  +		private const string SERIAL_NAME_KEYS = "keys";
  +		private const string SERIAL_NAME_VALUES = "values";
  +		private const string SERIAL_NAME_READ_ONLY = "read-only";
  +		
   		private bool readOnly;
   
   		private Hashtable parameters = new Hashtable();
  @@ -53,37 +56,18 @@
   		/// <param name="context"></param>
   		public Parameters (SerializationInfo info, StreamingContext context)
   		{
  -			
  -			parameters = new Hashtable();
  -
  -			object[] keys = (object[]) info.GetValue("parameters-keys", typeof(object));
  -			object[] values = (object[]) info.GetValue("parameters-values", typeof(object));
  +			parameters = new Hashtable(RuntimeSerializer.DeserializeIDictionary(info, 
  +				SERIAL_NAME_KEYS, SERIAL_NAME_VALUES));
   
  -			for (int i = 0; i < keys.Length; i++)
  +			bool readOnlyMode = info.GetBoolean(SERIAL_NAME_READ_ONLY);
  +			
  +			if (readOnlyMode)
   			{
  -				parameters[keys[i]] = values[i];
  +				MakeReadOnly();
   			}
   		}
   
   		/// <summary>
  -		/// 
  -		/// </summary>
  -		/// <param name="info"></param>
  -		/// <param name="context"></param>
  -		public void GetObjectData(SerializationInfo info, StreamingContext context)
  -		{
  -			
  -			object[] keys = new object[parameters.Keys.Count];
  -			parameters.Keys.CopyTo(keys, 0);
  -
  -			object[] values = new object[parameters.Values.Count];
  -			parameters.Values.CopyTo(values, 0);
  -
  -			info.AddValue("parameters-keys", keys);
  -			info.AddValue("parameters-values", values);
  -		}
  -
  -		/// <summary>
   		/// Gets a value indicating whether the parameters is read-only.
   		/// </summary>
   		/// <value>True if the parameters are read-only; otherwise, false.</value>
  @@ -244,6 +228,18 @@
   			{
   				return parameters.Count; 
   			}
  +		}
  +
  +		/// <summary>
  +		/// 
  +		/// </summary>
  +		/// <param name="info"></param>
  +		/// <param name="context"></param>
  +		public void GetObjectData(SerializationInfo info, StreamingContext context)
  +		{
  +			RuntimeSerializer.SerializeIDictionary(info, parameters, SERIAL_NAME_KEYS, SERIAL_NAME_VALUES);
  +
  +			info.AddValue(SERIAL_NAME_READ_ONLY, IsReadOnly);
   		}
   	}
   }
  
  
  
  1.3       +2 -2      jakarta-avalon-excalibur/csframework/src/cs/Activity/ISuspendable.cs
  
  Index: ISuspendable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Activity/ISuspendable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ISuspendable.cs	25 Sep 2002 22:46:30 -0000	1.2
  +++ ISuspendable.cs	23 Jan 2003 21:50:34 -0000	1.3
  @@ -10,10 +10,10 @@
   namespace Apache.Avalon.Activity
   {
   	/// <summary>
  -	/// The ISuspendable interface is used when a component 
  +	/// The <see cref="ISuspendable"/> interface is used when a component 
   	/// will need to temporarily halt execution of a component.
   	/// The execution may be halted so that you can reconfigure/
  -	/// recompose/recontextualize component.
  +	/// recompose/recontextualize the component.
   	/// </summary>
   	public interface ISuspendable
   	{
  
  
  
  1.3       +4 -4      jakarta-avalon-excalibur/csframework/src/cs/Activity/IStartable.cs
  
  Index: IStartable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Activity/IStartable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IStartable.cs	25 Sep 2002 22:46:30 -0000	1.2
  +++ IStartable.cs	23 Jan 2003 21:50:36 -0000	1.3
  @@ -10,7 +10,7 @@
   namespace Apache.Avalon.Activity
   {
   	/// <summary>
  -	/// The IStartable interface is used when components need to
  +	/// The <see cref="IStartable"/> interface is used when components need to
   	/// be "running" to be active. It provides a method through
   	/// which components can be "started" and "stopped" without 
   	/// requiring a thread. 
  @@ -24,8 +24,8 @@
   		/// <summary>
   		/// Starts the component.
   		/// </summary>
  -		/// <exception cref="System.Exception">
  -		/// The Exception if Component can not be started.
  +		/// <exception cref="Exception">
  +		/// The Exception if the component can not be started.
   		/// </exception>
   		void Start();
   
  @@ -33,7 +33,7 @@
   		/// Stops the component.
   		/// </summary>
   		/// <exception cref="System.Exception">
  -		///  The Exception if the Component can not be stopped.
  +		///  The Exception if the component can not be stopped.
   		/// </exception>
   		void Stop();
   	}
  
  
  
  1.3       +7 -6      jakarta-avalon-excalibur/csframework/src/cs/Activity/IInitializable.cs
  
  Index: IInitializable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Activity/IInitializable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IInitializable.cs	25 Sep 2002 22:46:30 -0000	1.2
  +++ IInitializable.cs	23 Jan 2003 21:50:36 -0000	1.3
  @@ -10,18 +10,19 @@
   namespace Apache.Avalon.Activity
   {
   	/// <summary>
  -	/// The IInitializable interface is used by components
  -	/// that need to allocate resources prior 
  -	/// to them becoming active.
  +	/// The <see cref="IInitializable"/> interface is used by components
  +	/// that need to allocate resources prior to them becoming active.
   	/// </summary>
   	public interface IInitializable
   	{
   		/// <summary>
   		/// Initialializes the component.
  -		/// An Initialization includes allocating any resources
  -		/// required throughout the components lifecycle.
   		/// </summary>
  -		/// <exception cref="System.Exception">
  +		/// <remarks>
  +		/// An Initialization includes allocating any resources
  +		/// required throughout the component lifecycle.
  +		/// </remarks> 
  +		/// <exception cref="Exception">
   		/// The Exception if an error occurs.
   		/// </exception>
   		void Initialize();
  
  
  
  1.3       +2 -2      jakarta-avalon-excalibur/csframework/src/cs/Activity/IExecutable.cs
  
  Index: IExecutable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Activity/IExecutable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IExecutable.cs	25 Sep 2002 22:46:30 -0000	1.2
  +++ IExecutable.cs	23 Jan 2003 21:50:36 -0000	1.3
  @@ -10,7 +10,7 @@
   namespace Apache.Avalon.Activity
   {
   	/// <summary>
  -	/// The IExecutable can be implemented by components
  +	/// The <see cref="IExecutable"/> can be implemented by components
   	/// that need to perform some work.
   	/// </summary>
   	/// <remarks>
  @@ -22,7 +22,7 @@
   		/// <summary>
   		/// Executes the action associated with this component.
   		/// </summary>
  -		/// <exception cref="System.Exception">
  +		/// <exception cref="Exception">
   		/// The Exception if an error occurs.
   		/// </exception>
   		void Execute();
  
  
  
  1.3       +5 -3      jakarta-avalon-excalibur/csframework/src/cs/Activity/IDisposable.cs
  
  Index: IDisposable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Activity/IDisposable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IDisposable.cs	25 Sep 2002 22:46:30 -0000	1.2
  +++ IDisposable.cs	23 Jan 2003 21:50:36 -0000	1.3
  @@ -17,10 +17,12 @@
   	{
   		/// <summary>
   		/// The Dispose operation is called at the end of a components lifecycle.
  -		///	This method will be called after IStartable.stop() method (if implemented
  -		/// by component). Components use this method to release and destroy any
  -		///	resources that the Component owns.
   		/// </summary>
  +		/// <remarks>
  +		/// This method will be called after <see cref="IStartable.Stop()"/> method 
  +		/// (if implemented by the component). Components use this method to release 
  +		/// and destroy any resources that the component owns.
  +		/// </remarks> 
   		void Dispose();
   	}
   }
  
  
  
  1.5       +50 -9     jakarta-avalon-excalibur/csframework/src/cs/Context/DefaultContext.cs
  
  Index: DefaultContext.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Context/DefaultContext.cs,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultContext.cs	19 Nov 2002 10:35:13 -0000	1.4
  +++ DefaultContext.cs	23 Jan 2003 21:50:43 -0000	1.5
  @@ -7,27 +7,32 @@
   //------------------------------------------------------------------------------
   using System;
   using System.Collections;
  +using System.Runtime.Serialization; 
  +
  +using Apache.Avalon.Util; 
   
   namespace Apache.Avalon.Context
   {
   	/// <summary>
   	/// Default implementation of IContext.
   	/// </summary>
  -	public class DefaultContext: MarshalByRefObject, IContext, IEnumerable
  +	[Serializable]
  +	public class DefaultContext: MarshalByRefObject, IContext, IEnumerable, ISerializable
   	{
  +		private const string SERIAL_NAME_KEYS = "keys";
  +		private const string SERIAL_NAME_VALUES = "values";
  +		private const string SERIAL_NAME_PARENT = "parent";
  +		private const string SERIAL_NAME_READ_ONLY = "read-only";
  +
   		private IDictionary components;
   		private IContext parent;
   		private bool readOnly;
   		
   		/// <summary>
  -		/// Creates a context with specified data and parent.
  +		/// Creates a context with no parent.
   		/// </summary>
  -		/// <param name="data">The Context data.</param>
  -		/// <param name="context">The Parent context (may be null).</param>
  -		public DefaultContext(IDictionary data, IContext context)
  +		public DefaultContext(): this ((IContext) null)
   		{
  -			parent = context;
  -			components = data;
   		}
   
   		/// <summary>
  @@ -47,10 +52,34 @@
   		}
   
   		/// <summary>
  -		/// Creates a context with no parent.
  +		/// Creates a context with specified data and parent.
   		/// </summary>
  -		public DefaultContext(): this ((IContext) null)
  +		/// <param name="data">The Context data.</param>
  +		/// <param name="context">The Parent context (may be null).</param>
  +		public DefaultContext(IDictionary data, IContext context)
   		{
  +			parent = context;
  +			components = data;
  +		}
  +
  +		/// <summary>
  +		/// Creates a new Parameters instance.
  +		/// </summary>
  +		/// <param name="info"></param>
  +		/// <param name="context"></param>
  +		public DefaultContext (SerializationInfo info, StreamingContext context)
  +		{
  +			components = new Hashtable(RuntimeSerializer.DeserializeIDictionary(info, 
  +				SERIAL_NAME_KEYS, SERIAL_NAME_VALUES));
  +			
  +			parent = (IContext) info.GetValue(SERIAL_NAME_PARENT, typeof(IContext));
  +
  +			bool readOnlyMode = info.GetBoolean(SERIAL_NAME_READ_ONLY);
  +			
  +			if (readOnlyMode)
  +			{
  +				MakeReadOnly();
  +			}
   		}
   
   		/// <summary>
  @@ -164,5 +193,17 @@
   			return components.GetEnumerator();
   		}
   
  +		/// <summary>
  +		/// 
  +		/// </summary>
  +		/// <param name="info"></param>
  +		/// <param name="context"></param>
  +		public void GetObjectData(SerializationInfo info, StreamingContext context)
  +		{
  +			RuntimeSerializer.SerializeIDictionary(info, components, SERIAL_NAME_KEYS, SERIAL_NAME_VALUES);
  +
  +			info.AddValue(SERIAL_NAME_PARENT, parent); 
  +			info.AddValue(SERIAL_NAME_READ_ONLY, IsReadOnly);
  +		}
   	}
   }
  
  
  
  1.4       +3 -3      jakarta-avalon-excalibur/csframework/src/cs/Context/ContextException.cs
  
  Index: ContextException.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Context/ContextException.cs,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ContextException.cs	8 Nov 2002 20:38:17 -0000	1.3
  +++ ContextException.cs	23 Jan 2003 21:50:43 -0000	1.4
  @@ -21,14 +21,14 @@
   	public class ContextException: Exception
   	{
   		/// <summary>
  -		/// Constructs a new <code>ContextException</code> instance.
  +		/// Constructs a new <c>ContextException</c> instance.
   		/// </summary>
   		public ContextException(): this(null)
   		{
   		}
   
   		/// <summary>
  -		/// Constructs a new <code>ContextException</code> instance.
  +		/// Constructs a new <c>ContextException</c> instance.
   		/// </summary>
   		/// <param name="message">The Detail message for this exception.</param>
   		public ContextException(string message): this(message, null)
  @@ -36,7 +36,7 @@
   		}
   
   		/// <summary>
  -		/// Constructs a new <code>ContextException</code> instance.
  +		/// Constructs a new <c>ContextException</c> instance.
   		/// </summary>
   		/// <param name="message">The Detail message for this exception.</param>
   		/// <param name="inner">The Root cause of the exception.</param>
  
  
  
  1.3       +5 -0      jakarta-avalon-excalibur/csframework/src/cs/Configuration/IReconfigurable.cs
  
  Index: IReconfigurable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/IReconfigurable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IReconfigurable.cs	25 Sep 2002 22:46:57 -0000	1.2
  +++ IReconfigurable.cs	23 Jan 2003 21:50:43 -0000	1.3
  @@ -14,6 +14,11 @@
   	/// </summary>
   	public interface IReconfigurable: IConfigurable
   	{
  +		/// <summary>
  +		/// Allows reconfiguration at runtime.
  +		/// </summary>
  +		/// <param name="configuration">An <see cref="IConfiguration"/> value.</param>
  +		/// <exception cref="ConfigurationException">If an error occurs.</exception>
   		void Reconfigure( IConfiguration configuration );
   	}
   }
  
  
  
  1.4       +24 -26    jakarta-avalon-excalibur/csframework/src/cs/Configuration/IConfiguration.cs
  
  Index: IConfiguration.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/IConfiguration.cs,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IConfiguration.cs	25 Sep 2002 22:46:57 -0000	1.3
  +++ IConfiguration.cs	23 Jan 2003 21:50:43 -0000	1.4
  @@ -11,13 +11,9 @@
   namespace Apache.Avalon.Configuration
   {
   	/// <summary>
  -	/// <c>IConfiguration</c> is a interface encapsulating a configuration node
  +	/// <see cref="IConfiguration"/> is a interface encapsulating a configuration node
   	///	used to retrieve configuration values.
   	/// </summary>
  -	/// <remarks>
  -	/// This is a "read only" interface preventing applications from modifying their
  -	/// own configurations. Once it is created, the information never changes.
  -	/// </remarks>
   	public interface IConfiguration
   	{
   		/// <summary>
  @@ -32,10 +28,10 @@
   		}
   
   		/// <summary>
  -		/// Gets a string describing location of <c>IConfiguration</c>.
  +		/// Gets a string describing location of <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// A String describing location of <c>IConfiguration</c>.
  +		/// A String describing location of <see cref="IConfiguration"/>.
   		/// </value> 
   		string Location
   		{
  @@ -54,7 +50,7 @@
   		}
   
   		/// <summary>
  -		/// Gets the Namespace of the node.
  +		/// Gets the namespace of the node.
   		/// </summary>
   		/// <value>
   		/// The Namespace of the node.
  @@ -65,7 +61,7 @@
   		}
   
   		/// <summary>
  -		/// Gets the Prefix of the node.
  +		/// Gets the prefix of the node.
   		/// </summary>
   		/// <value>
   		/// The Prefix of the node.
  @@ -76,10 +72,10 @@
   		}
   
   		/// <summary>
  -		/// Gets a value indicating whether the <c>IConfiguration</c> is read-only.
  +		/// Gets a value indicating whether the <see cref="IConfiguration"/> is read-only.
   		/// </summary>
   		/// <value>
  -		/// True if the <c>IConfiguration</c> is read-only; otherwise, false.
  +		/// <see langword="true"/> if the <see cref="IConfiguration"/> is read-only; otherwise, <see langword="false"/>.
   		/// </value> 
   		bool IsReadOnly
   		{
  @@ -87,7 +83,7 @@
   		}
   		
   		/// <summary>
  -		/// Gets an <see cref="ConfigurationCollection"/> of <c>IConfiguration</c>
  +		/// Gets an <see cref="ConfigurationCollection"/> of <see cref="IConfiguration"/>
   		/// elements containing all node children.
   		/// </summary>
   		/// <value>The Collection of child nodes.</value>
  @@ -105,50 +101,52 @@
   		}
   		
   		/// <summary>
  -		///	Gets a <c>IConfiguration</c> instance encapsulating the specified
  +		///	Gets a <see cref="IConfiguration"/> instance encapsulating the specified
   		/// child node.
   		/// </summary>
   		/// <param name="child">The Name of the child node.</param> 
   		/// <param name="createNew">
  -		///	If <c>true</c>, a new <c>IConfiguration</c>
  +		///	If <see langword="true"/>, a new <see cref="IConfiguration"/>
   		/// will be created and returned if the specified child does not exist.
  -		/// If <c>false</c>, <c>null</c> will be returned when the specified
  +		/// If <see langword="false"/>, <see langword="null"/> will be returned when the specified
   		/// child doesn't exist.
   		/// </param>
  -		/// <returns><c>IConfiguration</c></returns>  
  +		/// <returns>
  +		/// The <see cref="IConfiguration"/> instance encapsulating the specified child node.
  +		/// </returns>  
   		IConfiguration GetChild(string child, bool createNew);
   
   		/// <summary>
  -		/// Return an <see cref="ConfigurationCollection"/> of <c>IConfiguration</c>
  +		/// Return an <see cref="ConfigurationCollection"/> of <see cref="IConfiguration"/>
   		/// elements containing all node children with the specified name.
   		/// </summary>
   		/// <param name="name">The Name of the children to get.</param> 
   		/// <returns>
  -		/// An <see cref="ConfigurationCollection"/> of
  -		/// <c>IConfiguration</c> objects children of 
  +		/// The <see cref="ConfigurationCollection"/> of
  +		/// <see cref="IConfiguration"/> children of 
   		/// this associated with the given name.
   		/// </returns> 
   		ConfigurationCollection GetChildren(string name);
   
   		/// <summary>
  -		/// Gets the Value of the node and converts it 
  -		/// into specified <see cref="System.Type"/>.
  +		/// Gets the value of the node and converts it 
  +		/// into specified <see cref="Type"/>.
   		/// </summary>
  -		/// <param name="type">The <see cref="System.Type"/></param>
  +		/// <param name="type">The <see cref="Type"/></param>
   		/// <param name="defaultValue">
  -		/// The defaultValue returned if the convertion fails.
  +		/// The Default value returned if the convertion fails.
   		/// </param>
   		/// <returns>The Value converted into the specified type.</returns>
   		object GetValue(Type type, object defaultValue);
   		
   		/// <summary>
   		/// Gets the value of specified attribute and
  -		/// converts it into specified <see cref="System.Type"/>. 
  +		/// converts it into specified <see cref="Type"/>. 
   		/// </summary>
   		/// <param name="name">The Name of the attribute you ask the value of.</param>
  -		/// <param name="type">The <see cref="System.Type"/></param>
  +		/// <param name="type">The <see cref="Type"/></param>
   		/// <param name="defaultValue">
  -		/// The defaultValue returned if the convertion fails.
  +		/// The Default value returned if the convertion fails.
   		/// </param>
   		/// <returns>The Value of the attribute.</returns>
   		object GetAttribute(string name, Type type, object defaultValue);
  
  
  
  1.3       +13 -11    jakarta-avalon-excalibur/csframework/src/cs/Configuration/IConfigurable.cs
  
  Index: IConfigurable.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/IConfigurable.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IConfigurable.cs	25 Sep 2002 22:46:57 -0000	1.2
  +++ IConfigurable.cs	23 Jan 2003 21:50:43 -0000	1.3
  @@ -12,25 +12,27 @@
   	/// <summary>
   	/// This interface should be implemented by classes that need to be
   	///	configured with custom parameters before initialization.
  -	///	<para>
  -	/// The contract surrounding a <c>IConfigurable</c> is that the
  -	/// instantiating entity must call the <c>Configure</c>
  -	/// method before it is valid.  The <c>Configure</c> method
  -	///	must be called after the constructor, and before any other method.
  -	///	</para>
   	/// </summary>
  +	///	<remarks>
  +	/// The contract surrounding a <see cref="IConfigurable"/> is that the
  +	/// instantiating entity must call the <see cref="IConfigurable.Configure(IConfiguration configuration)"/>
  +	/// method before it is valid.  
  +	/// The <see cref="IConfigurable.Configure(IConfiguration configuration)"/> method
  +	///	must be called after the constructor, and before any other method.
  +	///	</remarks>
   	/// <remarks>
   	/// Note that this interface is incompatible with <see cref="Apache.Avalon.Parameter.IParameterizable"/>.
   	/// </remarks>
   	public interface IConfigurable
   	{
   		/// <summary>
  -		/// 
  -		/// Pass the <see cref="IConfiguration"/> to the <c>IConfigurable</c>
  -		/// class. This method must always be called after the constructor
  -		///	and before any other method.
  +		/// Pass the <see cref="IConfiguration"/> to the <see cref="IConfigurable"/> instanse.
   		/// </summary>
  -		/// <param name="configuration">The Configuration</param>
  +		/// <remarks>
  +		/// This method must always be called after the constructor and before any other method.
  +		/// </remarks> 
  +		/// <param name="configuration">The <see cref="IConfiguration"/> to pass.</param>
  +		/// <exception cref="ConfigurationException">If an error occurs.</exception>
   		void Configure( IConfiguration configuration );
   	}
   }
  
  
  
  1.8       +9 -9      jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfigurationSerializer.cs
  
  Index: DefaultConfigurationSerializer.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfigurationSerializer.cs,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultConfigurationSerializer.cs	19 Nov 2002 11:34:02 -0000	1.7
  +++ DefaultConfigurationSerializer.cs	23 Jan 2003 21:50:43 -0000	1.8
  @@ -75,8 +75,8 @@
   		/// <summary>
   		/// Makes a deserialization of a <see cref="DefaultConfiguration"/> instance.
   		/// </summary>
  -		/// <param name="fileName">The name of the file, containing the XML document to deserialize.</param>
  -		/// <returns>A deserialized <see cref="DefaultConfiguration"/> instance.</returns>
  +		/// <param name="fileName">The Name of the file, containing the XML document to deserialize.</param>
  +		/// <returns>A Deserialized <see cref="DefaultConfiguration"/> instance.</returns>
   		public static DefaultConfiguration Deserialize(string fileName)
   		{
   			DefaultConfiguration configuration = null;
  @@ -95,11 +95,11 @@
   		}
   
   		/// <summary>
  -		/// Makes a deserialization of <see cref="System.Xml.XmlNode"/> instance.
  +		/// Makes a deserialization of <see cref="XmlNode"/> instance.
   		/// </summary>
  -		/// <param name="node">The node to deserialize.</param>
  -		/// <param name="parent">A deserialized <see cref="DefaultConfiguration"/> parent instance.</param>
  -		/// <returns>A deserialized <see cref="DefaultConfiguration"/> instance.</returns>
  +		/// <param name="node">The Node to deserialize.</param>
  +		/// <param name="parent">A Deserialized <see cref="DefaultConfiguration"/> parent instance.</param>
  +		/// <returns>A Deserialized <see cref="DefaultConfiguration"/> instance.</returns>
   		public static DefaultConfiguration Deserialize(XmlNode node, DefaultConfiguration parent)
   		{
   			// node deserialization
  @@ -145,10 +145,10 @@
   		}
   
   		/// <summary>
  -		/// Makes a deserialization of <see cref="System.Xml.XmlNode"/> instance.
  +		/// Makes a deserialization of <see cref="XmlNode"/> instance.
   		/// </summary>
  -		/// <param name="node">The node to deserialize.</param>
  -		/// <returns>A deserialized <see cref="DefaultConfiguration"/> instance.</returns>
  +		/// <param name="node">The Node to deserialize.</param>
  +		/// <returns>A Deserialized <see cref="DefaultConfiguration"/> instance.</returns>
   		public static DefaultConfiguration Deserialize(XmlNode node)
   		{
   			return Deserialize(node, null);
  
  
  
  1.3       +2 -2      jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfigurationSectionHandler.cs
  
  Index: DefaultConfigurationSectionHandler.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfigurationSectionHandler.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultConfigurationSectionHandler.cs	25 Sep 2002 22:46:57 -0000	1.2
  +++ DefaultConfigurationSectionHandler.cs	23 Jan 2003 21:50:43 -0000	1.3
  @@ -29,7 +29,7 @@
   		/// <seealso cref="IConfigurationSectionHandler"/>
   		/// </summary>
   		/// <param name="parent">
  -		/// The configuration settings in a corresponding parent configuration section.
  +		/// The Configuration settings in a corresponding parent configuration section.
   		/// </param>
   		/// <param name="configContext">
   		/// <see cref="IConfigurationSectionHandler"/>.
  @@ -38,7 +38,7 @@
   		/// Contains the configuration information from the configuration file.
   		/// </param>
   		/// <returns>
  -		/// A DefaultConfiguration instance based on a configuration section.
  +		/// A <see cref="DefaultConfiguration"/> instance based on a configuration section.
   		/// </returns>
   		public object Create(object parent, object configContext, XmlNode section)
   		{
  
  
  
  1.3       +84 -18    jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfiguration.cs
  
  Index: DefaultConfiguration.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/DefaultConfiguration.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultConfiguration.cs	25 Sep 2002 22:46:57 -0000	1.2
  +++ DefaultConfiguration.cs	23 Jan 2003 21:50:43 -0000	1.3
  @@ -7,6 +7,9 @@
   //------------------------------------------------------------------------------
   using System;
   using System.Collections;
  +using System.Runtime.Serialization;
  +
  +using Apache.Avalon.Util;  
   
   namespace Apache.Avalon.Configuration
   {
  @@ -14,21 +17,30 @@
   	/// This is the default <see cref="IConfiguration"/> implementation.
   	/// </summary>
   	[Serializable]
  -	public class DefaultConfiguration: AbstractConfiguration
  +	public class DefaultConfiguration: AbstractConfiguration, ISerializable
   	{
  - 
  +		private const string SERIAL_NAME_NAME = "name";
  +		private const string SERIAL_NAME_LOCATION = "location";
  +		private const string SERIAL_NAME_NAMESPACE = "namespace";
  +		private const string SERIAL_NAME_PREFIX = "prefix";
  +		private const string SERIAL_NAME_VALUE = "value";
  +		private const string SERIAL_NAME_READ_ONLY = "read-only";
  +		private const string SERIAL_NAME_ATTRIBUTE_KEYS = "attribute-keys";
  +		private const string SERIAL_NAME_ATTRIBUTE_VALUES = "attribute-values";
  +		private const string SERIAL_NAME_CHILDREN = "children";
  +
   		/// <summary>
  -		/// Creates a new <c>DefaultConfiguration</c> instance.
  +		/// Creates a new <see cref="DefaultConfiguration"/> instance.
   		/// </summary>
   		public DefaultConfiguration()
   		{
   		}
   
   		/// <summary>
  -		/// Creates a new <c>DefaultConfiguration</c> instance.
  +		/// Creates a new <see cref="DefaultConfiguration"/> instance.
   		/// </summary>
  -		/// <param name="name"></param>
  -		/// <param name="location"></param>
  +		/// <param name="name">The Name of the node.</param>
  +		/// <param name="location">The Location of the node.</param>
   		public DefaultConfiguration(string name, string location )
   		{
   			Name = name;
  @@ -36,12 +48,12 @@
   		}
   
   		/// <summary>
  -		/// Creates a new <c>DefaultConfiguration</c> instance.
  +		/// Creates a new <see cref="DefaultConfiguration"/> instance.
   		/// </summary>
  -		/// <param name="name"></param>
  -		/// <param name="location"></param>
  -		/// <param name="ns"></param>
  -		/// <param name="prefix"></param>
  +		/// <param name="name">The Name of the node.</param>
  +		/// <param name="location">The Location of the node.</param>
  +		/// <param name="ns">The Namespace of the node.</param>
  +		/// <param name="prefix">The Prefix of the node.</param>
   		public DefaultConfiguration(string name, string location, string ns, string prefix): this(name, location)
   		{
   			Namespace = ns;
  @@ -49,17 +61,49 @@
   		}
   
   		/// <summary>
  -		///	Gets a <c>IConfiguration</c> instance encapsulating the specified
  +		/// Creates a new <see cref="DefaultConfiguration"/> instance.
  +		/// </summary>
  +		/// <param name="info">The <see cref="SerializationInfo"/> to populate with data.</param>
  +		/// <param name="context">The destination for this serialization.</param>
  +		public DefaultConfiguration(SerializationInfo info, StreamingContext context)
  +		{
  +			Name = info.GetString(SERIAL_NAME_NAME);
  +			Location = info.GetString(SERIAL_NAME_LOCATION);
  +			Namespace = info.GetString(SERIAL_NAME_NAMESPACE);  
  +			Prefix = info.GetString(SERIAL_NAME_PREFIX);
  +
  +			Value = info.GetString(SERIAL_NAME_VALUE); 
  +
  +			Attributes = new Hashtable(RuntimeSerializer.DeserializeIDictionary(info, 
  +				SERIAL_NAME_ATTRIBUTE_KEYS, SERIAL_NAME_ATTRIBUTE_VALUES)); 
  +			
  +			foreach (IConfiguration config in RuntimeSerializer.DeserializeArray(info, SERIAL_NAME_CHILDREN))
  +			{
  +				Children.Add((IConfiguration) config);
  +			}
  +
  +			bool readOnlyMode = info.GetBoolean(SERIAL_NAME_READ_ONLY);
  +			
  +			if (readOnlyMode)
  +			{
  +				MakeReadOnly();
  +			}
  +		}
  +
  +		/// <summary>
  +		///	Gets an <see cref="IConfiguration"/> instance encapsulating the specified
   		/// child node.
   		/// </summary>
   		/// <param name="name">The Name of the child node.</param> 
   		/// <param name="createNew">
  -		///	If <c>true</c>, a new <c>IConfiguration</c>
  +		///	If <see langword="true"/>, a new <see cref="IConfiguration"/>
   		/// will be created and returned if the specified child does not exist.
  -		/// If <c>false</c>, <c>null</c> will be returned when the specified
  +		/// If <see langword="true"/>, <see langword="null"/> will be returned when the specified
   		/// child doesn't exist.
   		/// </param>
  -		/// <returns><c>IConfiguration</c></returns>  
  +		/// <returns>
  +		/// The <see cref="IConfiguration"/> instance encapsulating the specified child node.
  +		/// </returns>  
   		public override IConfiguration GetChild(string name, bool createNew )
   		{
   			IConfiguration result = null;
  @@ -88,13 +132,12 @@
   		}
   
   		/// <summary>
  -		/// Return an <see cref="ConfigurationCollection"/> of <c>IConfiguration</c>
  +		/// Return a collection of <see cref="IConfiguration"/>
   		/// elements containing all node children with the specified name.
   		/// </summary>
   		/// <param name="name">The Name of the children to get.</param> 
   		/// <returns>
  -		/// An <see cref="ConfigurationCollection"/> of
  -		/// <c>IConfiguration</c> objects children of 
  +		/// The collection of <see cref="IConfiguration"/> children of 
   		/// this associated with the given name.
   		/// </returns> 
   		public override ConfigurationCollection GetChildren(string name)
  @@ -110,6 +153,29 @@
   			}
   
   			return result;
  +		}
  +
  +		/// <summary>
  +		/// Populates a <see cref="SerializationInfo"/> with the data needed 
  +		/// to serialize the target object.
  +		/// </summary>
  +		/// <param name="info">The <see cref="SerializationInfo"/> to populate with data.</param>
  +		/// <param name="context">The destination for this serialization.</param>
  +		public void GetObjectData(SerializationInfo info, StreamingContext context)
  +		{
  +			info.AddValue(SERIAL_NAME_NAME, Name);
  +			info.AddValue(SERIAL_NAME_LOCATION, Location);
  +			info.AddValue(SERIAL_NAME_NAMESPACE, Namespace);
  +			info.AddValue(SERIAL_NAME_PREFIX, Prefix);
  +
  +			info.AddValue(SERIAL_NAME_VALUE, Value);
  +			
  +			info.AddValue(SERIAL_NAME_READ_ONLY, IsReadOnly);
  +			
  +			RuntimeSerializer.SerializeIDictionary(info, Attributes, 
  +				SERIAL_NAME_ATTRIBUTE_KEYS, SERIAL_NAME_ATTRIBUTE_VALUES);
  +
  +			RuntimeSerializer.SerializeICollection(info, Children, SERIAL_NAME_CHILDREN); 
   		}
   	}
   }
  
  
  
  1.4       +3 -3      jakarta-avalon-excalibur/csframework/src/cs/Configuration/ConfigurationException.cs
  
  Index: ConfigurationException.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/ConfigurationException.cs,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ConfigurationException.cs	8 Nov 2002 20:38:17 -0000	1.3
  +++ ConfigurationException.cs	23 Jan 2003 21:50:43 -0000	1.4
  @@ -17,14 +17,14 @@
   	public class ConfigurationException: Exception
   	{
   		/// <summary>
  -		/// Constructs a new <c>ConfigurationException</c> instance.
  +		/// Constructs a new <see cref="ConfigurationException"/> instance.
   		/// </summary>
   		public ConfigurationException(): this(null)
   		{
   		}
   
   		/// <summary>
  -		/// Constructs a new <c>ConfigurationException</c> instance.
  +		/// Constructs a new <see cref="ConfigurationException"/> instance.
   		/// </summary>
   		/// <param name="message">The Detail message of the exception.</param>
   		public ConfigurationException(string message): this(message, null)
  @@ -32,7 +32,7 @@
   		}
   
   		/// <summary>
  -		/// Constructs a new <c>ConfigurationException</c> instance.
  +		/// Constructs a new <see cref="ConfigurationException"/> instance.
   		/// </summary>
   		/// <param name="message">The Detail message of the exception.</param>
   		/// <param name="inner">The Root cause of the exception.</param>
  
  
  
  1.5       +24 -59    jakarta-avalon-excalibur/csframework/src/cs/Configuration/ConfigurationCollection.cs
  
  Index: ConfigurationCollection.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/ConfigurationCollection.cs,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ConfigurationCollection.cs	25 Sep 2002 22:46:57 -0000	1.4
  +++ ConfigurationCollection.cs	23 Jan 2003 21:50:43 -0000	1.5
  @@ -35,8 +35,9 @@
   		/// <summary>
   		/// Creates a new instance of <c>ConfigurationCollection</c>.
   		/// </summary>
  -		public ConfigurationCollection(IConfiguration[] value): this(new ConfigurationCollection(value))
  +		public ConfigurationCollection(IConfiguration[] value)
   		{
  +			this.AddRange(value);
   		}
   
   		/// <summary>
  @@ -81,12 +82,22 @@
   			return List.Add(value);
   		}
   
  +		/// <summary>
  +		/// Adds an array of <see cref="IConfiguration"/>.
  +		/// </summary>
  +		/// <param name="value">The Array of <see cref="IConfiguration"/> to add.</param>
   		public void AddRange(IConfiguration[] value) 
   		{
  -			
  -			AddRange(new ConfigurationCollection(value));
  +			foreach(IConfiguration configuration in value)
  +			{
  +				this.Add(configuration);
  +			}
   		}
   
  +		/// <summary>
  +		/// Adds a <see cref="ConfigurationCollection"/>.
  +		/// </summary>
  +		/// <param name="value">The <see cref="ConfigurationCollection"/> to add.</param>
   		public void AddRange(ConfigurationCollection value) 
   		{
   			foreach(IConfiguration configuration in value)
  @@ -95,7 +106,14 @@
   			}
   		}
   
  -		public void CopyTo(IConfiguration[] array, int index) 
  +		/// <summary>
  +		/// Copies the elements to a one-dimensional <see cref="Array"/> instance at the specified index.
  +		/// </summary>
  +		/// <param name="array">
  +		///	The one-dimensional <see cref="Array"/> must have zero-based indexing.
  +		///	</param>
  +		/// <param name="index">The zero-based index in array at which copying begins.</param>
  +		public void CopyTo(IConfiguration[] array, int index)
   		{
   
   			List.CopyTo(array, index);
  @@ -117,7 +135,7 @@
   		}
   
   		/// <summary>
  -		/// Retuns the index of a <see cref="IConfiguration"/> in 
  +		/// Gets the index of a <see cref="IConfiguration"/> in 
   		/// the collection.
   		/// </summary>
   		/// <param name="value">The <see cref="IConfiguration"/> to locate.</param>
  @@ -142,22 +160,13 @@
   
   			List.Insert(index, value);
   		}
  -
  -		/// <summary>
  -		/// Returns an enumerator that can iterate through the collection.
  -		/// </summary>
  -		public new ConfigurationEnumerator GetEnumerator() 
  -		{
  -
  -			return new ConfigurationEnumerator(this);
  -		}
   		
   		/// <summary>
   		/// Removes a specific <see cref="IConfiguration"/> from the 
   		/// collection.   
   		/// </summary>
   		/// <param name="value">The <see cref="IConfiguration"/> to remove from the collection.</param>
  -		/// <exception cref="System.ArgumentException">
  +		/// <exception cref="ArgumentException">
   		/// <paramref name="value"/> is not found in the collection.
   		/// </exception>
   		public void Remove(IConfiguration value) 
  @@ -165,49 +174,5 @@
   
   			List.Remove(value);
   		}
  -
  -		public class ConfigurationEnumerator : IEnumerator 
  -		{
  -			private IEnumerator baseEnumerator;
  -
  -			public ConfigurationEnumerator(ConfigurationCollection mappings) 
  -			{
  -				this.baseEnumerator = mappings.GetEnumerator();
  -			}
  -
  -/*
  -			public IConfiguration Current 
  -			{
  -				get 
  -				{
  -					return (IConfiguration) baseEnumerator.Current;
  -				}
  -
  -			}
  -*/			
  -
  -			public bool MoveNext() 
  -			{
  -
  -				return baseEnumerator.MoveNext();
  -			}
  -
  -			object IEnumerator.Current 
  -			{
  -				get 
  -				{
  -					return baseEnumerator.Current;
  -				}
  -
  -			}
  -
  -			public void Reset() 
  -			{
  -
  -				baseEnumerator.Reset();
  -			}
  -
  -		}
  -
   	}
   }
  
  
  
  1.4       +49 -30    jakarta-avalon-excalibur/csframework/src/cs/Configuration/AbstractConfiguration.cs
  
  Index: AbstractConfiguration.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Configuration/AbstractConfiguration.cs,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractConfiguration.cs	25 Sep 2002 22:46:57 -0000	1.3
  +++ AbstractConfiguration.cs	23 Jan 2003 21:50:43 -0000	1.4
  @@ -29,10 +29,11 @@
   		private ConfigurationCollection children = new ConfigurationCollection();
   
   		/// <summary>
  -		/// Gets a value indicating whether the <c>IConfiguration</c> is read-only.
  +		/// Gets a value indicating whether the <see cref="IConfiguration"/> is read-only.
   		/// </summary>
   		/// <value>
  -		/// True if the <c>IConfiguration</c> is read-only; otherwise, false.
  +		/// <see langword="true"> if the <see cref="IConfiguration"/> is read-only;
  +		/// otherwise, <see langword="false">.
   		/// </value> 
   		public bool IsReadOnly
   		{
  @@ -43,10 +44,10 @@
   		}
   
   		/// <summary>
  -		/// Gets the name of the node.
  +		/// Gets the name of the <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// The Name of the node.
  +		/// The Name of the <see cref="IConfiguration"/>.
   		/// </value> 
   		public string Name
   		{
  @@ -63,10 +64,10 @@
   		}
   
   		/// <summary>
  -		/// Gets a string describing location of <c>IConfiguration</c>.
  +		/// Gets a string describing location of the <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// A String describing location of <c>IConfiguration</c>.
  +		/// A String describing location of the <see cref="IConfiguration"/>.
   		/// </value> 
   		public string Location
   		{
  @@ -83,10 +84,10 @@
   		}
   
   		/// <summary>
  -		/// Gets the value of the node.
  +		/// Gets the value of <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// The Value of the node.
  +		/// The Value of the <see cref="IConfiguration"/>.
   		/// </value> 
   		public string Value
   		{
  @@ -103,10 +104,10 @@
   		}
   
   		/// <summary>
  -		/// Gets the Namespace of the node.
  +		/// Gets the namespace of the <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// The Namespace of the node.
  +		/// The Namespace of the <see cref="IConfiguration"/>.
   		/// </value>
   		public string Namespace
   		{
  @@ -124,10 +125,10 @@
   		}
   
   		/// <summary>
  -		/// Gets the Prefix of the node.
  +		/// Gets the prefix of the <see cref="IConfiguration"/>.
   		/// </summary>
   		/// <value>
  -		/// The Prefix of the node.
  +		/// The prefix of the <see cref="IConfiguration"/>.
   		/// </value>
   		public string Prefix
   		{
  @@ -146,10 +147,9 @@
   
   
   		/// <summary>
  -		/// Gets an <see cref="ConfigurationCollection"/> of <c>IConfiguration</c>
  -		/// elements containing all node children.
  +		/// Gets all child nodes.
   		/// </summary>
  -		/// <value>The Collection of child nodes.</value>
  +		/// <value>The <see cref="ConfigurationCollection"/> of child nodes.</value>
   		public ConfigurationCollection Children
   		{
   			get
  @@ -171,8 +171,11 @@
   		}
   
   		/// <summary>
  -		/// Gets an <see cref="IDictionary"/> of the configuration attributes.
  +		/// Gets node attributes.
   		/// </summary>
  +		/// <value>
  +		/// All attributes of the node.
  +		/// </value>
   		public  IDictionary Attributes
   		{
   			get
  @@ -193,44 +196,54 @@
   			}
   		}
   
  +		/// <summary>
  +		///	Gets a <see cref="IConfiguration"/> instance encapsulating the specified
  +		/// child node.
  +		/// </summary>
  +		/// <param name="child">The Name of the child node.</param> 
  +		/// <returns>
  +		///	The <see cref="IConfiguration"/> instance encapsulating the specified
  +		///	child node. 
  +		/// </returns>  
   		public IConfiguration GetChild(string child)
   		{
   			return GetChild(child, false);
   		}
   		
   		/// <summary>
  -		///	Gets a <c>IConfiguration</c> instance encapsulating the specified
  +		///	Gets a <see cref="IConfiguration"/> instance encapsulating the specified
   		/// child node.
   		/// </summary>
   		/// <param name="child">The Name of the child node.</param> 
   		/// <param name="createNew">
  -		///	If <c>true</c>, a new <c>IConfiguration</c>
  +		///	If <see langword="true"/>, a new <see cref="IConfiguration"/>
   		/// will be created and returned if the specified child does not exist.
  -		/// If <c>false</c>, <c>null</c> will be returned when the specified
  +		/// If <see langword="false"/>, <see langword="null"/> will be returned when the specified
   		/// child doesn't exist.
   		/// </param>
  -		/// <returns><c>IConfiguration</c></returns>  
  +		/// <returns>
  +		///	The <see cref="IConfiguration"/> instance encapsulating the specified
  +		///	child node. 
  +		/// </returns>  
   		public abstract IConfiguration GetChild(string child, bool createNew);
   
   		/// <summary>
  -		/// Return an <see cref="ConfigurationCollection"/> of <c>IConfiguration</c>
  +		/// Return an <see cref="ConfigurationCollection"/> of <see cref="IConfiguration"/>
   		/// elements containing all node children with the specified name.
   		/// </summary>
   		/// <param name="name">The Name of the children to get.</param> 
   		/// <returns>
  -		/// An <see cref="ConfigurationCollection"/> of
  -		/// <c>IConfiguration</c> objects children of 
  -		/// this associated with the given name.
  +		/// All node children with the specified name
   		/// </returns> 
   		public abstract ConfigurationCollection GetChildren(string name);
   
   		/// <summary>
  -		/// Gets the Value of the node and converts it 
  +		/// Gets the value of the node and converts it 
   		/// into specified <see cref="System.Type"/>.
   		/// </summary>
   		/// <param name="type">The <see cref="System.Type"/></param>
   		/// <returns>The Value converted into the specified type.</returns>
  -		/// <exception cref="System.InvalidCastException">
  +		/// <exception cref="InvalidCastException">
   		/// If the convertion fails, an exception will be thrown.
   		/// </exception>
   		public object GetValue(Type type)
  @@ -239,12 +252,12 @@
   		}
   		
   		/// <summary>
  -		/// Gets the Value of the node and converts it 
  +		/// Gets the value of the node and converts it 
   		/// into specified <see cref="System.Type"/>.
   		/// </summary>
   		/// <param name="type">The <see cref="System.Type"/></param>
   		/// <param name="defaultValue">
  -		/// The defaultValue returned if the convertion fails.
  +		/// The Default value returned if the convertion fails.
   		/// </param>
   		/// <returns>The Value converted into the specified type.</returns>
   		public object GetValue(Type type, object defaultValue)
  @@ -260,7 +273,7 @@
   		/// <param name="name">The Name of the attribute you ask the value of.</param>
   		/// <param name="type">The <see cref="System.Type"/></param>
   		/// <returns>The Value converted into the specified type.</returns>
  -		/// <exception cref="System.InvalidCastException">
  +		/// <exception cref="InvalidCastException">
   		/// If the convertion fails, an exception will be thrown.
   		/// </exception>
   		public object GetAttribute(string name, Type type)
  @@ -276,7 +289,7 @@
   		/// <param name="name">The Name of the attribute you ask the value of.</param>
   		/// <param name="type">The <see cref="System.Type"/></param>
   		/// <param name="defaultValue">
  -		/// The defaultValue returned if the convertion fails.
  +		/// The Default value returned if the convertion fails.
   		/// </param>
   		/// <returns>The Value converted into the specified type.</returns>
   		public object GetAttribute(string name, Type type, object defaultValue)
  @@ -293,6 +306,12 @@
   			readOnly = true;
   		}
   		
  +		/// <summary>
  +		/// Check whether this node is readonly or not.
  +		/// </summary>
  +		/// <exception cref="ConfigurationException">
  +		/// If this node is readonly then an exception will be thrown.
  +		/// </exception>
   		protected void CheckReadOnly()
   		{
   			if( IsReadOnly )
  
  
  
  1.3       +0 -5      jakarta-avalon-excalibur/csframework/src/cs/Util/ContainerUtil.cs
  
  Index: ContainerUtil.cs
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/csframework/src/cs/Util/ContainerUtil.cs,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ContainerUtil.cs	25 Sep 2002 22:48:22 -0000	1.2
  +++ ContainerUtil.cs	23 Jan 2003 21:50:47 -0000	1.3
  @@ -251,11 +251,6 @@
   		/// </exception>
   		public static void Dispose(object component)
   		{
  -			if (component is System.IDisposable)
  -			{
  -				((System.IDisposable) component).Dispose();
  -			}
  -
   			if (component is Apache.Avalon.Activity.IDisposable)
   			{
   				((Apache.Avalon.Activity.IDisposable) component).Dispose();
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@jakarta.apache.org>


Mime
View raw message