in lib/server-core-ext/src/main/java/org/apache/olingo/server/core/RequestURLHierarchyVisitor.java [172:273]
public void visit(UriInfoResource info) {
List<UriResource> parts = info.getUriResourceParts();
for (UriResource resource : parts) {
switch (resource.getKind()) {
case action:
visit((UriResourceAction) resource);
break;
case complexProperty:
visit((UriResourceComplexProperty) resource);
break;
case count:
visit((UriResourceCount) resource);
break;
case entitySet:
visit((UriResourceEntitySet) resource);
break;
case function:
visit((UriResourceFunction) resource);
break;
case it:
visit((UriResourceIt) resource);
break;
case lambdaAll:
visit((UriResourceLambdaAll) resource);
break;
case lambdaAny:
visit((UriResourceLambdaAny) resource);
break;
case lambdaVariable:
visit((UriResourceLambdaVariable) resource);
break;
case navigationProperty:
visit((UriResourceNavigation) resource);
break;
case ref:
visit((UriResourceRef) resource);
break;
case root:
visit((UriResourceRoot) resource);
break;
case primitiveProperty:
visit((UriResourcePrimitiveProperty) resource);
break;
case singleton:
visit((UriResourceSingleton) resource);
break;
case value:
visit((UriResourceValue) resource);
break;
}
}
if (info.getApplyOption() != null) {
//per the docs, apply is first
visit(info.getApplyOption());
}
// http://docs.oasis-open.org/odata/odata/v4.0/os/part1-protocol/odata-v4.0-os-part1-protocol.html#_Toc372793682
if (info.getSearchOption() != null) {
visit(info.getSearchOption());
}
if (info.getFilterOption() != null) {
visit(info.getFilterOption());
}
if (info.getCountOption() != null) {
visit(info.getCountOption());
}
visit(info.getOrderByOption());
if (info.getSkipOption() != null) {
visit(info.getSkipOption());
}
if (info.getTopOption() != null) {
visit(info.getTopOption());
}
if (info.getExpandOption() != null) {
visit(info.getExpandOption());
}
visit(info.getSelectOption());
if (info.getFormatOption() != null) {
visit(info.getFormatOption());
}
if (info.getIdOption() != null) {
visit(info.getIdOption(), null);
}
if (info.getSkipTokenOption() != null) {
visit(info.getSkipTokenOption());
}
if (info.getDeltaTokenOption() != null) {
visit(info.getDeltaTokenOption());
}
}