using System;
namespace Spring.Stereotype{
/// <summary>
/// Indicates that an annotated class is a "component".
/// Such classes are considered as candidates for future features such
/// as auto-detection when using attribute-based configuration and assembly scanning.
/// </summary>
/// <remarks>Other class-level annotations may be considered as identifying
/// a component as well, typically a special kind of component:
/// e.g. the Repository attribute.
/// </remarks>
/// <author>Mark Fisher</author>
/// <author>Mark Pollack (.NET)</author>
/// <seealso cref="RepositoryAttribute"/>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, Inherited = true)]
[Serializable]
public class ComponentAttribute : Attribute
{
private string name = "";
/// <summary>
/// Initializes a new instance of the <see cref="ComponentAttribute"/> class.
/// </summary>
public ComponentAttribute()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="ComponentAttribute"/> class.
/// </summary>
/// <param name="name">The name of the component.</param>
public ComponentAttribute(string name)
{
this.name = name;
}
/// <summary>
/// Gets or sets the name of the component
/// </summary>
/// <value>The name of the component.</value>
public string Name
{
get { return name; }
set { name = value; }
}
}
}
|