NavigationPair
Namespace: Meshmakers.Octo.Runtime.Contracts.Repositories
Pair of rt association roles id and direction.
public record NavigationPair : FieldFilterCriteria, IEquatable<FieldFilterCriteria>, IEquatable<NavigationPair>
Inheritance Object → FieldFilterCriteria → NavigationPair
Implements IEquatable<FieldFilterCriteria>, IEquatable<NavigationPair>
Properties
InnerNavigationPairs
Gets the navigation pairs used to further traverse the object graph.
public List<NavigationPair> InnerNavigationPairs { get; }
Property Value
CkRoleId
Gets the association role id.
public RtCkId<CkAssociationRoleId> CkRoleId { get; }
Property Value
RtCkId<CkAssociationRoleId>
Direction
Gets the direction of the association.
public GraphDirections Direction { get; }
Property Value
GraphDirections
TargetCkTypeId
Gets the target construction kit type id.
public RtCkId<CkTypeId> TargetCkTypeId { get; }
Property Value
RtCkId<CkTypeId>
PathTerms
Gets the path terms to the navigation pair.
public IEnumerable<PathTerm> PathTerms { get; }
Property Value
SubPathTerms
Gets the sub path terms of the navigation pair. This property lists all sub paths of the navigation pair. The sub path terms are used to
public IEnumerable<IEnumerable<PathTerm>> SubPathTerms { get; private set; }
Property Value
IEnumerable<IEnumerable<PathTerm>>
Operator
Gets the logical operator for combining field filters
public LogicalOperators Operator { get; }
Property Value
FieldFilters
Represents field filters for specific attributes with different comparison operators.
public ICollection<FieldFilter> FieldFilters { get; }
Property Value
NestedFilters
Gets the list of nested filters for complex logical operations
public List<FieldFilterCriteria> NestedFilters { get; }
Property Value
Constructors
NavigationPair(IEnumerable<PathTerm>, IEnumerable<IEnumerable<PathTerm>>, RtCkId<CkAssociationRoleId>, GraphDirections, RtCkId<CkTypeId>)
Creates a new NavigationPair from the given , , and .
public NavigationPair(IEnumerable<PathTerm> pathTerms, IEnumerable<IEnumerable<PathTerm>> subPathTerms, RtCkId<CkAssociationRoleId> ckRoleId, GraphDirections direction, RtCkId<CkTypeId> targetCkTypeId)
Parameters
pathTerms IEnumerable<PathTerm>
Path terms to the navigation pair
subPathTerms IEnumerable<IEnumerable<PathTerm>>
Sub path terms to the navigation pair
ckRoleId RtCkId<CkAssociationRoleId>
Association role id
direction GraphDirections
Direction of the association
targetCkTypeId RtCkId<CkTypeId>
Target construction kit type id
NavigationPair(IEnumerable<PathTerm>, IEnumerable<IEnumerable<PathTerm>>, RtCkId<CkAssociationRoleId>, GraphDirections, RtCkId<CkTypeId>, IEnumerable<NavigationPair>)
Creates a new NavigationPair from the given , , and .
public NavigationPair(IEnumerable<PathTerm> pathTerms, IEnumerable<IEnumerable<PathTerm>> subPathTerms, RtCkId<CkAssociationRoleId> ckRoleId, GraphDirections direction, RtCkId<CkTypeId> targetCkTypeId, IEnumerable<NavigationPair> innerNavigationPairs)
Parameters
pathTerms IEnumerable<PathTerm>
Path terms to the navigation pair
subPathTerms IEnumerable<IEnumerable<PathTerm>>
Sub path terms to the navigation pair
ckRoleId RtCkId<CkAssociationRoleId>
Association role id
direction GraphDirections
Direction of the association
targetCkTypeId RtCkId<CkTypeId>
Target construction kit type id
innerNavigationPairs IEnumerable<NavigationPair>
Navigation pairs used to further traverse the object graph
Methods
Merge(NavigationPair)
Merges the given navigation pair into this one by adding the inner navigation pairs of the other navigation pair to this one.
public void Merge(NavigationPair other)
Parameters
other NavigationPair
The other navigation pair to merge