C# 클래스 Azavea.Open.DAO.Memory.AbstractMemoryIndex

Base class that handles some of the key comparison common across index types.
상속: IMemoryIndex
파일 보기 프로젝트 열기: azavea/net-dao

보호된 프로퍼티들

프로퍼티 타입 설명
_daLayer MemoryDaLayer
_property string

공개 메소드들

메소드 설명
GetCardinality ( DaoCriteria crit ) : int

Returns a number indicating how many breaks this index has for the properties used in the criteria. Roughly speaking, higher is better (though the number is an estimate, it is possible to have data that makes the index inefficient). If there are multiple indexes, the one that returns the highest number from this method will be used. An index should return 1 to indicate that it offers no value for this criteria.

GetPossibleMatches ( DaoCriteria crit ) : IList

Uses the index to return the smallest number of possible matches for this criteria.

Rebuild ( IEnumerable objects ) : void

This method rebuilds the index given a new list of data objects.

보호된 메소드들

메소드 설명
AbstractMemoryIndex ( MemoryDaLayer layer, string property ) : System

Base class that handles some of the key comparison common across index types.

GetExpressionsForIndex ( DaoCriteria crit ) : IList

This returns none if the crit is ORed, or if there are no expressions on this index's property.

GetMatchingKeys ( DaoCriteria crit, IEnumerable allKeys ) : IList

Gets the keys that match the expressions that are relevent to this index.

SplitObjectsByProperty ( IEnumerable objects ) : IList>.IDictionary

Splits a list of objects into a bunch of lists, one for each value of the index's property.

메소드 상세

AbstractMemoryIndex() 보호된 메소드

Base class that handles some of the key comparison common across index types.
protected AbstractMemoryIndex ( MemoryDaLayer layer, string property ) : System
layer MemoryDaLayer The data access layer in use.
property string The property to index on.
리턴 System

GetCardinality() 공개 추상적인 메소드

Returns a number indicating how many breaks this index has for the properties used in the criteria. Roughly speaking, higher is better (though the number is an estimate, it is possible to have data that makes the index inefficient). If there are multiple indexes, the one that returns the highest number from this method will be used. An index should return 1 to indicate that it offers no value for this criteria.
public abstract GetCardinality ( DaoCriteria crit ) : int
crit Azavea.Open.DAO.Criteria.DaoCriteria The query being run.
리턴 int

GetExpressionsForIndex() 보호된 메소드

This returns none if the crit is ORed, or if there are no expressions on this index's property.
protected GetExpressionsForIndex ( DaoCriteria crit ) : IList
crit Azavea.Open.DAO.Criteria.DaoCriteria The query being run.
리턴 IList

GetMatchingKeys() 보호된 메소드

Gets the keys that match the expressions that are relevent to this index.
protected GetMatchingKeys ( DaoCriteria crit, IEnumerable allKeys ) : IList
crit Azavea.Open.DAO.Criteria.DaoCriteria The query being run.
allKeys IEnumerable All the key values in the index.
리턴 IList

GetPossibleMatches() 공개 추상적인 메소드

Uses the index to return the smallest number of possible matches for this criteria.
public abstract GetPossibleMatches ( DaoCriteria crit ) : IList
crit Azavea.Open.DAO.Criteria.DaoCriteria The query being run.
리턴 IList

Rebuild() 공개 추상적인 메소드

This method rebuilds the index given a new list of data objects.
public abstract Rebuild ( IEnumerable objects ) : void
objects IEnumerable All the objects in the data store.
리턴 void

SplitObjectsByProperty() 보호된 메소드

Splits a list of objects into a bunch of lists, one for each value of the index's property.
protected SplitObjectsByProperty ( IEnumerable objects ) : IList>.IDictionary
objects IEnumerable A list of potentially unordered objects.
리턴 IList>.IDictionary

프로퍼티 상세

_daLayer 보호되어 있는 프로퍼티

Data access layer we're using, necessary for type coercion.
protected MemoryDaLayer,Azavea.Open.DAO.Memory _daLayer
리턴 MemoryDaLayer

_property 보호되어 있는 프로퍼티

The property that this index is on.
protected string _property
리턴 string