Skip to main content

NavigationPair

Namespace: Meshmakers.Octo.Runtime.Contracts.Repositories

Pair of rt association roles id and direction.

public record NavigationPair : FieldFilterCriteria, IEquatable<FieldFilterCriteria>, IEquatable<NavigationPair>

Inheritance ObjectFieldFilterCriteriaNavigationPair
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

List<NavigationPair>

CkRoleId

Gets the association role id.

public CkId<CkAssociationRoleId> CkRoleId { get; }

Property Value

CkId<CkAssociationRoleId>

Direction

Gets the direction of the association.

public GraphDirections Direction { get; }

Property Value

GraphDirections

TargetCkTypeId

Gets the target construction kit type id.

public CkId<CkTypeId> TargetCkTypeId { get; }

Property Value

CkId<CkTypeId>

PathTerms

Gets the path terms to the navigation pair.

public IEnumerable<PathTerm> PathTerms { get; }

Property Value

IEnumerable<PathTerm>

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>>

FieldFilters

Represents field filters for specific attributes with different comparison operators.

public ICollection<FieldFilter> FieldFilters { get; }

Property Value

ICollection<FieldFilter>

Constructors

Creates a new NavigationPair from the given , , and .

public NavigationPair(IEnumerable<PathTerm> pathTerms, IEnumerable<IEnumerable<PathTerm>> subPathTerms, CkId<CkAssociationRoleId> ckRoleId, GraphDirections direction, CkId<CkTypeId> targetCkTypeId)

Parameters

pathTerms IEnumerable<PathTerm>
Path terms to the navigation pair

subPathTerms IEnumerable<IEnumerable<PathTerm>>
Sub path terms to the navigation pair

ckRoleId CkId<CkAssociationRoleId>
Association role id

direction GraphDirections
Direction of the association

targetCkTypeId CkId<CkTypeId>
Target construction kit type id

Creates a new NavigationPair from the given , , and .

public NavigationPair(IEnumerable<PathTerm> pathTerms, IEnumerable<IEnumerable<PathTerm>> subPathTerms, CkId<CkAssociationRoleId> ckRoleId, GraphDirections direction, CkId<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 CkId<CkAssociationRoleId>
Association role id

direction GraphDirections
Direction of the association

targetCkTypeId CkId<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