Package org.ehrbase.aql.sql.queryimpl
Class MultiFieldsMap
- java.lang.Object
-
- org.ehrbase.aql.sql.queryimpl.MultiFieldsMap
-
- Direct Known Subclasses:
MultiFieldsMultiMap
public class MultiFieldsMap extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,MultiFields>multiFieldsListAsMap
-
Constructor Summary
Constructors Constructor Description MultiFieldsMap()MultiFieldsMap(List<MultiFields> multiFieldsList)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiFieldsget(String identifierPath)MultiFieldsget(String variableIdentifier, String variablePath)Optional<LateralJoinDefinition>matchingLateralJoin(String templateId, String candidateLateralExpression)traverse the list of existing definition and identify a lateral join matching this variable path, template and SQL expressionstatic Optional<LateralJoinDefinition>matchingLateralJoin(Collection<MultiFields> multiFieldsCollection, String templateId, String candidateLateralExpression)traverse the list of existing definition and identify a lateral join matching this variable path, template and SQL expressionIterator<MultiFields>multiFieldsIterator()intupperPathBoundary()return the upper limit of all paths in the map
-
-
-
Field Detail
-
multiFieldsListAsMap
protected Map<String,MultiFields> multiFieldsListAsMap
-
-
Constructor Detail
-
MultiFieldsMap
public MultiFieldsMap(List<MultiFields> multiFieldsList)
-
MultiFieldsMap
public MultiFieldsMap()
-
-
Method Detail
-
get
public MultiFields get(String identifierPath)
-
get
public MultiFields get(String variableIdentifier, String variablePath)
-
multiFieldsIterator
public Iterator<MultiFields> multiFieldsIterator()
-
upperPathBoundary
public int upperPathBoundary()
return the upper limit of all paths in the map
-
matchingLateralJoin
public Optional<LateralJoinDefinition> matchingLateralJoin(String templateId, String candidateLateralExpression)
traverse the list of existing definition and identify a lateral join matching this variable path, template and SQL expression- Parameters:
templateId-candidateLateralExpression-- Returns:
-
matchingLateralJoin
public static Optional<LateralJoinDefinition> matchingLateralJoin(Collection<MultiFields> multiFieldsCollection, String templateId, String candidateLateralExpression)
traverse the list of existing definition and identify a lateral join matching this variable path, template and SQL expression- Parameters:
multiFieldsCollection-templateId-candidateLateralExpression-- Returns:
-
-