Class QueryExpressionRewriter<TArgument>
- Namespace
- JsonApiDotNetCore.Queries.Expressions
- Assembly
- JsonApiDotNetCore.dll
Building block for rewriting QueryExpression trees. It walks through nested expressions and updates the parent on changes.
[PublicAPI]
public class QueryExpressionRewriter<TArgument> : QueryExpressionVisitor<TArgument, QueryExpression?>
Type Parameters
TArgument
- Inheritance
-
QueryExpressionVisitor<TArgument, QueryExpression>QueryExpressionRewriter<TArgument>
- Inherited Members
Methods
DefaultVisit(QueryExpression, TArgument)
public override QueryExpression DefaultVisit(QueryExpression expression, TArgument argument)
Parameters
expressionQueryExpressionargumentTArgument
Returns
Visit(QueryExpression, TArgument)
public override QueryExpression? Visit(QueryExpression expression, TArgument argument)
Parameters
expressionQueryExpressionargumentTArgument
Returns
VisitAny(AnyExpression, TArgument)
public override QueryExpression? VisitAny(AnyExpression expression, TArgument argument)
Parameters
expressionAnyExpressionargumentTArgument
Returns
VisitComparison(ComparisonExpression, TArgument)
public override QueryExpression? VisitComparison(ComparisonExpression expression, TArgument argument)
Parameters
expressionComparisonExpressionargumentTArgument
Returns
VisitCount(CountExpression, TArgument)
public override QueryExpression? VisitCount(CountExpression expression, TArgument argument)
Parameters
expressionCountExpressionargumentTArgument
Returns
VisitHas(HasExpression, TArgument)
public override QueryExpression? VisitHas(HasExpression expression, TArgument argument)
Parameters
expressionHasExpressionargumentTArgument
Returns
VisitInclude(IncludeExpression, TArgument)
public override QueryExpression VisitInclude(IncludeExpression expression, TArgument argument)
Parameters
expressionIncludeExpressionargumentTArgument
Returns
VisitIncludeElement(IncludeElementExpression, TArgument)
public override QueryExpression VisitIncludeElement(IncludeElementExpression expression, TArgument argument)
Parameters
expressionIncludeElementExpressionargumentTArgument
Returns
VisitIsType(IsTypeExpression, TArgument)
public override QueryExpression VisitIsType(IsTypeExpression expression, TArgument argument)
Parameters
expressionIsTypeExpressionargumentTArgument
Returns
VisitList<TExpression>(IImmutableList<TExpression>, TArgument)
protected virtual IImmutableList<TExpression> VisitList<TExpression>(IImmutableList<TExpression> elements, TArgument argument) where TExpression : QueryExpression
Parameters
elementsIImmutableList<TExpression>argumentTArgument
Returns
- IImmutableList<TExpression>
Type Parameters
TExpression
VisitLiteralConstant(LiteralConstantExpression, TArgument)
public override QueryExpression VisitLiteralConstant(LiteralConstantExpression expression, TArgument argument)
Parameters
expressionLiteralConstantExpressionargumentTArgument
Returns
VisitLogical(LogicalExpression, TArgument)
public override QueryExpression? VisitLogical(LogicalExpression expression, TArgument argument)
Parameters
expressionLogicalExpressionargumentTArgument
Returns
VisitMatchText(MatchTextExpression, TArgument)
public override QueryExpression? VisitMatchText(MatchTextExpression expression, TArgument argument)
Parameters
expressionMatchTextExpressionargumentTArgument
Returns
VisitNot(NotExpression, TArgument)
public override QueryExpression? VisitNot(NotExpression expression, TArgument argument)
Parameters
expressionNotExpressionargumentTArgument
Returns
VisitNullConstant(NullConstantExpression, TArgument)
public override QueryExpression VisitNullConstant(NullConstantExpression expression, TArgument argument)
Parameters
expressionNullConstantExpressionargumentTArgument
Returns
VisitPagination(PaginationExpression, TArgument)
public override QueryExpression VisitPagination(PaginationExpression expression, TArgument argument)
Parameters
expressionPaginationExpressionargumentTArgument
Returns
VisitPaginationElementQueryStringValue(PaginationElementQueryStringValueExpression, TArgument)
public override QueryExpression VisitPaginationElementQueryStringValue(PaginationElementQueryStringValueExpression expression, TArgument argument)
Parameters
expressionPaginationElementQueryStringValueExpressionargumentTArgument
Returns
VisitPaginationQueryStringValue(PaginationQueryStringValueExpression, TArgument)
public override QueryExpression VisitPaginationQueryStringValue(PaginationQueryStringValueExpression expression, TArgument argument)
Parameters
expressionPaginationQueryStringValueExpressionargumentTArgument
Returns
VisitQueryStringParameterScope(QueryStringParameterScopeExpression, TArgument)
public override QueryExpression? VisitQueryStringParameterScope(QueryStringParameterScopeExpression expression, TArgument argument)
Parameters
expressionQueryStringParameterScopeExpressionargumentTArgument
Returns
VisitQueryableHandler(QueryableHandlerExpression, TArgument)
public override QueryExpression VisitQueryableHandler(QueryableHandlerExpression expression, TArgument argument)
Parameters
expressionQueryableHandlerExpressionargumentTArgument
Returns
VisitResourceFieldChain(ResourceFieldChainExpression, TArgument)
public override QueryExpression VisitResourceFieldChain(ResourceFieldChainExpression expression, TArgument argument)
Parameters
expressionResourceFieldChainExpressionargumentTArgument
Returns
VisitSet<TExpression>(IImmutableSet<TExpression>, TArgument)
protected virtual IImmutableSet<TExpression> VisitSet<TExpression>(IImmutableSet<TExpression> elements, TArgument argument) where TExpression : QueryExpression
Parameters
elementsIImmutableSet<TExpression>argumentTArgument
Returns
- IImmutableSet<TExpression>
Type Parameters
TExpression
VisitSort(SortExpression, TArgument)
public override QueryExpression? VisitSort(SortExpression expression, TArgument argument)
Parameters
expressionSortExpressionargumentTArgument
Returns
VisitSortElement(SortElementExpression, TArgument)
public override QueryExpression? VisitSortElement(SortElementExpression expression, TArgument argument)
Parameters
expressionSortElementExpressionargumentTArgument
Returns
VisitSparseFieldSet(SparseFieldSetExpression, TArgument)
public override QueryExpression VisitSparseFieldSet(SparseFieldSetExpression expression, TArgument argument)
Parameters
expressionSparseFieldSetExpressionargumentTArgument
Returns
VisitSparseFieldTable(SparseFieldTableExpression, TArgument)
public override QueryExpression? VisitSparseFieldTable(SparseFieldTableExpression expression, TArgument argument)
Parameters
expressionSparseFieldTableExpressionargumentTArgument