Class AttributeSource
An AttributeSource contains a list of different Attributes,
and methods to add and get them. There can only be a single instance
of an attribute in the same AttributeSource instance. This is ensured
by passing in the actual type of the IAttribute to
the AddAttribute<T>(), which then checks if an instance of
that type is already present. If yes, it returns the instance, otherwise
it creates a new instance and returns it.
Inheritance
System.Object
AttributeSource
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: Lucene.Net.dll
Syntax
public class AttributeSource
Constructors
|
Improve this Doc
View Source
AttributeSource()
Declaration
|
Improve this Doc
View Source
AttributeSource(AttributeSource)
Declaration
public AttributeSource(AttributeSource input)
Parameters
|
Improve this Doc
View Source
AttributeSource(AttributeSource.AttributeFactory)
Declaration
public AttributeSource(AttributeSource.AttributeFactory factory)
Parameters
Properties
|
Improve this Doc
View Source
HasAttributes
Declaration
public bool HasAttributes { get; }
Property Value
Type |
Description |
System.Boolean |
|
Methods
|
Improve this Doc
View Source
AddAttribute<T>()
The caller must pass in an interface type that extends IAttribute.
This method first checks if an instance of the corresponding class is
already in this AttributeSource and returns it. Otherwise a
new instance is created, added to this AttributeSource and returned.
Declaration
public T AddAttribute<T>()
where T : IAttribute
Returns
Type Parameters
|
Improve this Doc
View Source
AddAttributeImpl(Attribute)
Expert: Adds a custom Attribute instance with one or more IAttribute interfaces.
Please note: It is not guaranteed, that att
is added to
the AttributeSource, because the provided attributes may already exist.
You should always retrieve the wanted attributes using GetAttribute<T>() after adding
with this method and cast to your System.Type.
The recommended way to use custom implementations is using an AttributeSource.AttributeFactory.
Declaration
public void AddAttributeImpl(Attribute att)
Parameters
|
Improve this Doc
View Source
CaptureState()
Declaration
public virtual AttributeSource.State CaptureState()
Returns
|
Improve this Doc
View Source
ClearAttributes()
Declaration
public void ClearAttributes()
|
Improve this Doc
View Source
CloneAttributes()
Declaration
public AttributeSource CloneAttributes()
Returns
|
Improve this Doc
View Source
CopyTo(AttributeSource)
Declaration
public void CopyTo(AttributeSource target)
Parameters
|
Improve this Doc
View Source
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
System.Object |
obj |
|
Returns
Type |
Description |
System.Boolean |
|
Overrides
System.Object.Equals(System.Object)
|
Improve this Doc
View Source
GetAttribute<T>()
Declaration
public virtual T GetAttribute<T>()
where T : IAttribute
Returns
Type Parameters
Exceptions
|
Improve this Doc
View Source
GetAttributeClassesEnumerator()
Returns a new iterator that iterates the attribute classes
in the same order they were added in.
Declaration
public IEnumerator<Type> GetAttributeClassesEnumerator()
Returns
Type |
Description |
System.Collections.Generic.IEnumerator<System.Type> |
|
|
Improve this Doc
View Source
GetAttributeFactory()
Declaration
public AttributeSource.AttributeFactory GetAttributeFactory()
Returns
|
Improve this Doc
View Source
GetAttributeImplsEnumerator()
Declaration
public IEnumerator<Attribute> GetAttributeImplsEnumerator()
Returns
Type |
Description |
System.Collections.Generic.IEnumerator<Attribute> |
|
|
Improve this Doc
View Source
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type |
Description |
System.Int32 |
|
Overrides
System.Object.GetHashCode()
|
Improve this Doc
View Source
HasAttribute<T>()
Declaration
public bool HasAttribute<T>()
where T : IAttribute
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
|
Improve this Doc
View Source
ReflectAsString(Boolean)
This method returns the current attribute values as a string in the following format
by calling the ReflectWith(IAttributeReflector) method:
- if
prependAttClass
=true: "AttributeClass.Key=value,AttributeClass.Key=value"
- if
prependAttClass
=false: "key=value,key=value"
Declaration
public string ReflectAsString(bool prependAttClass)
Parameters
Type |
Name |
Description |
System.Boolean |
prependAttClass |
|
Returns
Type |
Description |
System.String |
|
See Also
|
Improve this Doc
View Source
ReflectWith(IAttributeReflector)
Declaration
public void ReflectWith(IAttributeReflector reflector)
Parameters
See Also
|
Improve this Doc
View Source
RestoreState(AttributeSource.State)
Restores this state by copying the values of all attribute implementations
that this state contains into the attributes implementations of the targetStream.
The targetStream must contain a corresponding instance for each argument
contained in this state (e.g. it is not possible to restore the state of
an AttributeSource containing a ICharTermAttribute into a AttributeSource using
a Token instance as implementation).
Note that this method does not affect attributes of the targetStream
that are not contained in this state. In other words, if for example
the targetStream contains an IOffsetAttribute, but this state doesn't, then
the value of the IOffsetAttribute remains unchanged. It might be desirable to
reset its value to the default, in which case the caller should first
call ClearAttributes() (TokenStream.ClearAttributes()
on the targetStream.
Declaration
public void RestoreState(AttributeSource.State state)
Parameters
|
Improve this Doc
View Source
ToString()
Returns a string consisting of the class's simple name, the hex representation of the identity hash code,
and the current reflection of all attributes.
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
Overrides
System.Object.ToString()
See Also
Extension Methods