Namespace ZptSharp.Expressions.PathExpressions
Classes
CannotParsePathException
Thrown when an instance of IParsesPathExpression fails to parse an instance of PathExpression.
DecoratorBasedObjectValueProvider
An implementation of IGetsValueFromObject which builds and delegates to a service using a combination of the decorator & chain of responsibility patterns.
That service ultimately implements the same interface as this class but provides logic declared in many other classes.
DefinedVariablesOnlyExpressionContextWrappingDecorator
Implementation of IGetsValueFromObject which uses only defined (global or local) variables to resolve values from the expression context. Similar to ExpressionContextWrappingDecorator.
DefinedVariablesOnlyPathExpressionEvaluator
An implementation of IEvaluatesExpression which evaluates TALES 'var' expressions.
DynamicObjectValueProvider
A chain of responsibility class which get values from object that implement System.Dynamic.IDynamicMetaObjectProvider (IE: which are "dynamic objects"). If the object does not implement that interface then the call is delegated straight to the wrapped implementation.
EnumerableValueProvider
An implementation of IGetsValueFromObject which works for types which implement System.Collections.IEnumerable. This allows accessing their items by zero-based numeric index.
ExpressionContextWrappingDecorator
A decorator class for the IGetsValueFromObject service, which detects instances of ExpressionContext and wraps them with an instance of NamedTalesValueForExpressionContextAdapter, so that subsequent classes in the decorator/chain may treat them as IGetsNamedTalesValue.
FailureValueProvider
An implementation of IGetsValueFromObject which returns a failure result. This should always be the 'last' link in a chain of responsibility/decorator stack. If the execution reaches this class then getting a value has failed.
GlobalVariableOnlyExpressionContextWrappingDecorator
Implementation of IGetsValueFromObject which uses only global variables to resolve values from the expression context. Similar to ExpressionContextWrappingDecorator.
GlobalVariablesOnlyPathExpressionEvaluator
An implementation of IEvaluatesExpression which evaluates TALES 'global' expressions.
IntegerKeyedDictionaryValueProvider
A chain of responsibility class which get values from any objects which implement any form of
IDictionary<int,T>
. If they implement a dictionary of integer and 'any type' then
we may read values from them based upon their numeric keys.
LocalVariableOnlyExpressionContextWrappingDecorator
Implementation of IGetsValueFromObject which uses only local variables to resolve values from the expression context. Similar to ExpressionContextWrappingDecorator.
LocalVariablesOnlyPathExpressionEvaluator
An implementation of IEvaluatesExpression which evaluates TALES 'local' expressions.
NamedTalesValueProvider
A chain of responsibility class which detects when the object from which to get a value is an implementation of IGetsNamedTalesValue. If it is, then its built-in functionality is used to get the value.
PathEvaluationContext
A model which represents the context of evaluating a part of a path expression.
PathExpression
Model for a path expression, providing access to the individual parts.
PathExpression.AlternateExpression
Model for an alternate expression, which would be part of a larger PathExpression.
PathExpression.PathPart
Base type for a single part of a path expression.
PathExpressionEvaluationRequest
Represents a request to evaluate a path expression. This could actually be a number of separate but very similarly-behaved expression types.
PathExpressionEvaluator
An implementation of IEvaluatesExpression which evaluates TALES 'path' expressions.
PathExpressionParser
Default implementation of IParsesPathExpression.
PathExpressionRequestEvaluator
Implementation of IEvaluatesPathExpressionRequest which evaluates path expression requests.
PathWalkingExpressionEvaluator
An implementation of IWalksAndEvaluatesPathExpression which walks each part of the path in sequence, using the specified context as a basis. At each step during traversal, an IGetsValueFromObject is used to get the actual traversed value.
PathWalkingExpressionEvaluatorFactory
Factory for instances of IWalksAndEvaluatesPathExpression. Specifically this deals with the creation of an appropriate instance of DecoratorBasedObjectValueProvider, based on the provided RootScopeLimitation.
ReflectionObjectValueProvider
Implementation of IGetsValueFromObject which uses reflection to get values from public properties, methods or fields of objects.
ReflectionValueReader
Implementation of IGetsValueFromReflection which uses plain/uncached reflection.
StringKeyedDictionaryValueProvider
A chain of responsibility class which get values from any objects which implement any form of
IDictionary<string,T>
. If they implement a dictionary of string and 'any type' then
we may read values from them based upon their string keys.
TemplateDirectoryValueProvider
A chain of responsibility class which get values from an objects of type TemplateDirectory. If the input object is a template directory then the output will either be a ZPT document adapter created via IGetsMetalDocumentAdapter, or it will be another template directory (representing directory traversal) or an exception will be raised.
Interfaces
IEvaluatesPathExpressionRequest
An object which can evaluate a PathExpressionEvaluationRequest and return a result.
IGetsPathWalkingExpressionEvaluator
An object which can create and return instances of IWalksAndEvaluatesPathExpression based upon a RootScopeLimitation
IGetsValueFromObject
An object which traverses a specified object to get a value of a specified name.
IGetsValueFromReflection
An object which can get values from a target object by use of reflection.
IParsesPathExpression
An object which is able to parse a path expression string into a model.
IWalksAndEvaluatesPathExpression
An object which can walk a path described by an PathExpression.AlternateExpression and get a result.
Enums
RootScopeLimitation
Enumerates the manners in which an ExpressionContext may be used to provide the root of a path expression.