#region License
/*
* Copyright 2002-2005 the original author or authors.
*
* 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.
*/
#endregion
#region Imports
using System;
using Spring.Core.IO;
#endregion
namespace Spring.Objects.Factory.Support{
/// <summary>
/// Simple interface for object definition readers.
/// </summary>
/// <author>Juergen Hoeller</author>
/// <author>Rick Evans</author>
public interface IObjectDefinitionReader
{
/// <summary>
/// Gets the
/// <see cref="Spring.Objects.Factory.Support.IObjectDefinitionRegistry"/>
/// instance that this reader works on.
/// </summary>
IObjectDefinitionRegistry Registry
{
get;
}
/// <summary>
/// The <see cref="System.AppDomain"/> against which any class names
/// will be resolved into <see cref="System.Type"/> instances.
/// </summary>
AppDomain Domain
{
get;
}
/// <summary>
/// The <see cref="IObjectNameGenerator"/> to use for anonymous
/// objects (wihtout explicit object name specified).
/// </summary>
IObjectNameGenerator ObjectNameGenerator
{
get;
}
/// <summary>
/// Gets the resource loader to use for resource locations.
/// </summary>
/// <remarks>There is also a <see cref="LoadObjectDefinitions(string)"/> method
/// available for loading object definitions from a resource location. This is
/// a convenience to avoid explicit ResourceLoader handling.</remarks>
/// <value>The resource loader.</value>
IResourceLoader ResourceLoader
{
get;
}
/// <summary>
/// Load object definitions from the supplied <paramref name="resource"/>.
/// </summary>
/// <param name="resource">
/// The resource for the object definitions that are to be loaded.
/// </param>
/// <returns>
/// The number of object definitions found
/// </returns>
/// <exception cref="Spring.Objects.ObjectsException">
/// In the case of loading or parsing errors.
/// </exception>
int LoadObjectDefinitions (IResource resource);
/// <summary>
/// Load object definitions from the supplied <paramref name="resources"/>.
/// </summary>
/// <param name="resources">
/// The resources for the object definitions that are to be loaded.
/// </param>
/// <returns>
/// The number of object definitions found
/// </returns>
/// <exception cref="Spring.Objects.ObjectsException">
/// In the case of loading or parsing errors.
/// </exception>
int LoadObjectDefinitions(IResource[] resources);
/// <summary>
/// Loads the object definitions from the specified resource location.
/// </summary>
/// <param name="location">The resource location, to be loaded with the
/// IResourceLoader location .</param>
/// <returns>
/// The number of object definitions found
/// </returns>
int LoadObjectDefinitions(string location);
/// <summary>
/// Loads the object definitions from the specified resource locations.
/// </summary>
/// <param name="locations">The the resource locations to be loaded with the
/// IResourceLoader of this object definition reader.</param>
/// <returns>
/// The number of object definitions found
/// </returns>
int LoadObjectDefinitions(string[] locations);
}
}
|