You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/03/06 10:39:02 UTC

[2/3] git commit: [OLINGO-63] Uri Parser: add Documentation

[OLINGO-63] Uri Parser: add Documentation


Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/6553b588
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/6553b588
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/6553b588

Branch: refs/heads/olingo169
Commit: 6553b5881e828a60d532746c657161d32013c3fb
Parents: 32191e7
Author: Sven Kobler <sv...@sap.com>
Authored: Thu Mar 6 10:06:28 2014 +0100
Committer: Sven Kobler <sv...@sap.com>
Committed: Thu Mar 6 10:06:50 2014 +0100

----------------------------------------------------------------------
 .../olingo/odata4/server/api/uri/UriInfo.java   | 10 ++-
 .../odata4/server/api/uri/UriInfoAll.java       |  5 ++
 .../odata4/server/api/uri/UriInfoBatch.java     |  4 +
 .../odata4/server/api/uri/UriInfoCrossjoin.java |  7 ++
 .../odata4/server/api/uri/UriInfoEntityId.java  | 23 ++++-
 .../odata4/server/api/uri/UriInfoKind.java      | 46 +++++++++-
 .../odata4/server/api/uri/UriInfoMetadata.java  | 10 +++
 .../odata4/server/api/uri/UriInfoResource.java  | 60 ++++++++++++-
 .../odata4/server/api/uri/UriInfoService.java   |  4 +
 .../odata4/server/api/uri/UriParameter.java     | 18 ++++
 .../odata4/server/api/uri/UriResource.java      |  7 ++
 .../server/api/uri/UriResourceAction.java       |  7 ++
 .../api/uri/UriResourceComplexProperty.java     | 12 +++
 .../odata4/server/api/uri/UriResourceCount.java |  4 +
 .../server/api/uri/UriResourceEntitySet.java    | 21 ++++-
 .../server/api/uri/UriResourceFunction.java     | 20 +++++
 .../odata4/server/api/uri/UriResourceIt.java    | 12 ++-
 .../odata4/server/api/uri/UriResourceKind.java  | 95 +++++++++++++++++++-
 .../server/api/uri/UriResourceLambdaAll.java    | 12 ++-
 .../server/api/uri/UriResourceLambdaAny.java    | 10 +++
 .../server/api/uri/UriResourceLambdaRef.java    | 25 ------
 .../api/uri/UriResourceLambdaVariable.java      | 33 +++++++
 .../server/api/uri/UriResourceNavigation.java   | 21 ++++-
 .../server/api/uri/UriResourcePartTyped.java    | 12 +++
 .../api/uri/UriResourcePrimitiveProperty.java   |  4 +
 .../server/api/uri/UriResourceProperty.java     |  6 ++
 .../odata4/server/api/uri/UriResourceRef.java   |  5 ++
 .../odata4/server/api/uri/UriResourceRoot.java  |  3 +-
 .../server/api/uri/UriResourceSingleton.java    | 14 +++
 .../odata4/server/api/uri/UriResourceValue.java |  4 +
 .../odata4/server/core/uri/UriInfoImpl.java     |  2 +-
 .../core/uri/UriResourceLambdaAllImpl.java      | 10 +--
 .../core/uri/UriResourceLambdaAnyImpl.java      |  8 +-
 .../core/uri/UriResourceLambdaVarImpl.java      |  6 +-
 .../uri/UriResourceStartingTypeFilterImpl.java  |  2 +-
 .../odata4/server/core/uri/UriInfoImplTest.java |  2 +-
 .../server/core/uri/UriResourceImplTest.java    |  5 +-
 .../core/uri/testutil/FilterTreeToText.java     |  2 +-
 .../core/uri/testutil/ResourceValidator.java    |  7 +-
 39 files changed, 492 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
index ddd86b8..4b91a93 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
@@ -19,9 +19,17 @@
 
 package org.apache.olingo.odata4.server.api.uri;
 
+
+/**
+ * Object acting as general access to URI information extracted from the request URI. Depending on
+ * the URI info kind different interfaces are used to provide access to that information. </p>
+ * Use method {@link #getKind()} to obtain URI info kind information and to perform an appropriate cast.
+ */
 public interface UriInfo extends
     UriInfoService, UriInfoAll, UriInfoBatch, UriInfoCrossjoin,
     UriInfoEntityId, UriInfoMetadata, UriInfoResource {
+  
+  public UriInfoKind getKind();
 
   public UriInfoService asUriInfoService();
 
@@ -37,5 +45,5 @@ public interface UriInfo extends
 
   public UriInfoResource asUriInfoResource();
 
-  public UriInfoKind getKind();
+  
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
index 9c5bd5c..95f3266 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
@@ -19,6 +19,11 @@
 
 package org.apache.olingo.odata4.server.api.uri;
 
+
+/**
+ * Used for URI info kind {@link UriInfoKind#all} to describe URIs like 
+ * http://.../serviceroot/$all
+ */
 public interface UriInfoAll {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
index 703ef36..e6db379 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
@@ -19,6 +19,10 @@
 
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Used for URI info kind {@link UriInfoKind#batch} to describe URIs like
+ * http://.../serviceroot/$batch
+ */
 public interface UriInfoBatch {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
index f055847..4967c3e 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
@@ -21,8 +21,15 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import java.util.List;
 
+/**
+ * Used for URI info kind {@link UriInfoKind#crossjoin} to describe URIs like
+ * http://.../serviceroot/$crossjoin(...)
+ */
 public interface UriInfoCrossjoin {
 
+  /**
+   * @return List of entity set names
+   */
   List<String> getEntitySetNames();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
index 93345ae..048dc8c 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
@@ -29,20 +29,41 @@ import org.apache.olingo.odata4.server.api.uri.queryoption.IdOption;
 import org.apache.olingo.odata4.server.api.uri.queryoption.SelectOption;
 
 /**
- * Indicates a URL access to an single Entity
+ * Used for URI info kind {@link UriInfoKind#entityId} to describe URIs like
+ * http://.../serviceroot/$entity...
  */
 public interface UriInfoEntityId {
 
+  /**
+   * @return List of custom query options used in the URI
+   */
   public List<CustomQueryOption> getCustomQueryOptions();
 
+  /**
+   * Behind $entity a optional type cast can be used in the URI.
+   * For example: http://.../serviceroot/$entity/namespace.entitytype
+   * @return Type cast if found, otherwise null
+   */
   public EdmEntityType getEntityTypeCast();
 
+  /**
+   * @return Object containing information of the $expand option
+   */
   public ExpandOption getExpandOption();
 
+  /**
+   * @return Object containing information of the $format option
+   */
   public FormatOption getFormatOption();
 
+  /**
+   * @return Object containing information of the $id option
+   */
   public IdOption getIdOption();
 
+  /**
+   * @return Object containing information of the $select option
+   */
   public SelectOption getSelectOption();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
index d3f2baf..7264238 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
@@ -19,6 +19,50 @@
 
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Defining the various info kinds
+ */
 public enum UriInfoKind {
-  all, batch, crossjoin, entityId, metadata, resource, service;
+  
+  /**
+   * Class: {@link UriInfoAll}<br>
+   * URI:   http://.../serviceroot/$all 
+   */
+  all,
+  
+  /**
+   * Class: {@link UriInfoBatch}<br>
+   * URI:   http://.../serviceroot/$batch 
+   */
+  batch,
+  
+  /**
+   * Class: {@link UriInfoCrossjoin}<br>
+   * URI:   http://.../serviceroot/$crossjoin 
+   */
+  crossjoin,
+  
+  /**
+   * Class: {@link UriInfoEntityId}<br>
+   * URI:   http://.../serviceroot/$entity(...) 
+   */
+  entityId,
+  
+  /**
+   * Class: {@link UriInfoMetadata}<br>
+   * URI:   http://.../serviceroot/$metadata... 
+   */
+  metadata,
+  
+  /**
+   * Class: {@link UriInfoResource}<br>
+   * URI:   http://.../serviceroot/entitySet 
+   */
+  resource,
+  
+  /**
+   * Class: {@link UriInfoService}<br>
+   * URI:   http://.../serviceroot 
+   */
+  service;
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
index 60ef90c..9f25e5d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
@@ -21,10 +21,20 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.server.api.uri.queryoption.FormatOption;
 
+/**
+ * Used for URI info kind {@link UriInfoKind#metadata} to describe URIs like
+ * http://.../serviceroot/$metadata...
+ */
 public interface UriInfoMetadata {
 
+  /**
+   * @return Object containing information of the $id option
+   */
   public FormatOption getFormatOption();
 
+  /**
+   * @return Object containing information of the URI fragment
+   */
   public String getFragment();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
index 8dca44f..1dff9ed 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
@@ -33,32 +33,86 @@ import org.apache.olingo.odata4.server.api.uri.queryoption.SkipOption;
 import org.apache.olingo.odata4.server.api.uri.queryoption.SkipTokenOption;
 import org.apache.olingo.odata4.server.api.uri.queryoption.TopOption;
 
+/**
+ * Used for URI info kind {@link UriInfoKind#resource} to describe URIs like
+ * E.g. http://.../serviceroot/entitySet
+ */
 public interface UriInfoResource {
 
+  /**
+   * @return List of custom query options used in the URI
+   */
   List<CustomQueryOption> getCustomQueryOptions();
 
+  /**
+   * @return Object containing information of the $expand option
+   */
   ExpandOption getExpandOption();
 
+  /**
+   * @return Object containing information of the $filter option
+   */
   FilterOption getFilterOption();
 
+  /**
+   * @return Object containing information of the $format option
+   */
   FormatOption getFormatOption();
-
+  
+  /**
+   * @return Object containing information of the $id option
+   */
   IdOption getIdOption();
 
-  CountOption getInlineCountOption();
+  /**
+   * @return Object containing information of the $count option
+   */
+  CountOption getCountOption();
 
+  /**
+   * @return Object containing information of the $orderby option
+   */
   OrderByOption getOrderByOption();
 
+  /**
+   * @return Object containing information of the $search option
+   */
   SearchOption getSearchOption();
 
+  /**
+   * @return Object containing information of the $select option
+   */
   SelectOption getSelectOption();
 
+  /**
+   * @return Object containing information of the $skip option
+   */
   SkipOption getSkipOption();
 
+  /**
+   * @return Object containing information of the $skiptoken option
+   */
   SkipTokenOption getSkipTokenOption();
 
+  /**
+   * @return Object containing information of the $top option
+   */
   TopOption getTopOption();
-
+  
+  /**
+   * The path segments behind the service root define which resources are  
+   * requested by that URI. This may be entities/functions/actions and more.
+   * Each segments information (name, key predicates, function parameters, ...) is 
+   * stored within an resource object dedicated for that segment type.</p>
+   * For example: the URI http://.../serviceroot/entitySet(1)/Adresse will 
+   * have 2 ResourceParts:<br> 
+   * - The first one of type {@link UriResourceEntitySet} 
+   * containing the name of the entity set and also the key predicate information.<br> 
+   * - The second one of type {@link UriResourceComplexProperty} containing the name of
+   * the accessed complex property
+   * 
+   * @return List of resource parts. 
+   */
   List<UriResource> getUriResourceParts();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
index 7cbc333..934509d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
@@ -18,6 +18,10 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Used for URI info kind {@link UriInfoKind#service} to describe URIs like
+ * http://.../serviceroot
+ */
 public interface UriInfoService {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
index 1d6e0cd..e6c8bdf 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
@@ -20,16 +20,34 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
 
+/**
+ * Represents an function parameter or key predicate when used in the URI. 
+ */
 public interface UriParameter {
 
+  /**
+   * @return Alias name if the parameters values is an alias, otherwise null 
+   */
   public String getAlias();
 
+  /**
+   * @return Text of the parameters value 
+   */
   public String getText();
 
+  /**
+   * @return If the parameters value is a expression and expression is returned, otherwise null 
+   */
   public Expression getExression();
 
+  /**
+   * @return Name of the parameter 
+   */
   public String getName();
 
+  /**
+   * @return Name of the referenced property when referential constrains are used  
+   */
   public String getRefencedProperty();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
index 2693a04..bd05d9c 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
@@ -18,8 +18,15 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Super interface for all objects representing resource parts. 
+ * See {@link UriInfoResource} for details. 
+ */
 public interface UriResource {
 
+  /**
+   * @return Kind of the resource part 
+   */
   UriResourceKind getKind();
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
index 80b8893..a2daf61 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
@@ -21,8 +21,15 @@ package org.apache.olingo.odata4.server.api.uri;
 import org.apache.olingo.odata4.commons.api.edm.EdmAction;
 import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
 
+/**
+ * Used to describe an action used within an resource path
+ * For example: http://.../serviceroot/action()
+ */
 public interface UriResourceAction extends UriResourcePartTyped {
 
+  /**
+   * @return Action used in the resource path
+   */
   EdmAction getAction();
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
index 6f4e837..83d68fc 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
@@ -20,10 +20,22 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
 
+/**
+ * Used to describe an complex property used within an resource path
+ * E.g. http://.../serviceroot/entityset(1)/complexproperty
+ */
 public interface UriResourceComplexProperty extends UriResourceProperty {
 
+  /**
+   * @return Complex property used in the resource path
+   */
   EdmComplexType getComplexType();
 
+  /**
+   * Behind a complex property may be a type filter
+   * E.g. http://.../serviceroot/entityset(1)/complexproperty/namespace.complextype
+   * @return Type filter if found, otherwise null 
+   */
   EdmComplexType getComplexTypeFilter();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
index 4a661ae..84722ae 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
@@ -18,6 +18,10 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Used to describe an $count used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/$count
+ */
 public interface UriResourceCount extends UriResource {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
index 1cae7f5..b7b9efc 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
@@ -24,16 +24,35 @@ import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
 import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 
+/**
+ * Used to describe an entity set used within an resource path
+ * For example: http://.../serviceroot/entityset(1)
+ */
 public interface UriResourceEntitySet extends UriResourcePartTyped {
-
+  
+  /**
+   * @return Entity set used in the resource path
+   */
   EdmEntitySet getEntitySet();
 
+  /**
+   * @return Type of the entity set
+   */
   EdmEntityType getEntityType();
 
+  /**
+   * @return Key predicates if used, otherwise null
+   */
   List<UriParameter> getKeyPredicates();
 
+  /**
+   * @return Type filter before key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnCollection();
 
+  /**
+   * @return Type filter behind key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnEntry();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
index 62bda01..de98324 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
@@ -24,8 +24,15 @@ import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
 import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 
+/**
+ * Used to describe an function import or bound function used within an resource path
+ * For example: http://.../serviceroot/functionImport(P1=1,P2='A')
+ */
 public interface UriResourceFunction extends UriResourcePartTyped {
 
+  /**
+   * @return Function used in the resource path
+   */
   EdmFunction getFunction();
 
   /**
@@ -35,12 +42,25 @@ public interface UriResourceFunction extends UriResourcePartTyped {
    */
   EdmFunctionImport getFunctionImport();
 
+  /**
+   * @return Key predicates if used, otherwise null
+   */
   List<UriParameter> getKeyPredicates();
 
+  
+  /**
+   * @return List of function parameters
+   */
   List<UriParameter> getParameters();
 
+  /**
+   * @return Type filter before key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnCollection();
 
+  /**
+   * @return Type filter behind key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnEntry();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
index 8391d0b..f7b957a 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
@@ -21,14 +21,18 @@ package org.apache.olingo.odata4.server.api.uri;
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 
 /**
- * Class indicating the $it reference. $it may be used within filter to
- * refer to the last EDM object reference in the resource path. Since $it is
- * optional in some cases ( e.g. first member expressions) the {@link #isExplicitIt()} method can be used to check if
- * $it was explicitly noted in the URI
+ * Class indicating the $it reference. $it may be used within expression to
+ * refer to the last EDM object referenced in the resource path. 
  */
 public interface UriResourceIt extends UriResourcePartTyped {
 
+  /**
+   * @return Type filter if $it refers to a collection
+   */
   EdmType getTypeFilterOnCollection();
 
+  /**
+   * @return Type filter if $it refers to a single entry
+   */
   EdmType getTypeFilterOnEntry();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
index a0df760..7c087b5 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
@@ -19,7 +19,98 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Defining the various resource part types
+ */
 public enum UriResourceKind {
-  action, complexProperty, count, entitySet, function, it, lambdaAll, lambdaAny,
-  lambdaVariable, navigationProperty, ref, root, primitiveProperty, singleton, startingTypeFilter, value,
+  
+  /**
+   * Class: {@link UriResourceAction}<br>
+   * URI:   http://.../serviceroot/action() 
+   */
+  action, 
+  
+  /**
+   * Class: {@link UriResourceComplexProperty}<br>
+   * URI:   http://.../serviceroot/entityset(1)/complexproperty() 
+   */
+  complexProperty,
+  
+  /**
+   * Class: {@link UriResourceCount}<br>
+   * URI:   http://.../serviceroot/entityset/$count 
+   */
+  count, 
+  
+  /**
+   * Class: {@link UriResourceEntitySet}<br>
+   * URI:   http://.../serviceroot/entityset 
+   */
+  entitySet, 
+  
+  /**
+   * Class: {@link UriResourceFunction}<br>
+   * URI:   http://.../serviceroot/functionimport(P1=1,P2='a') 
+   */
+  function,
+  
+  /**
+   * Class: {@link UriResourceIt}<br>
+   * URI:   http://.../serviceroot/entityset?$filter=$it/property 
+   */
+  it,
+  
+  /**
+   * Class: {@link UriResourceLambdaAll}<br>
+   * URI:   http://.../serviceroot/entityset/all(...) 
+   */
+  lambdaAll,
+  
+  /**
+   * Class: {@link UriResourceLambdaAny}<br>
+   * URI:   http://.../serviceroot/entityset/any(...) 
+   */
+  lambdaAny,
+  
+  /**
+   * Class: {@link UriResourceLambdaVariable}<br>
+   * URI:   http://.../serviceroot/entityset/listofstring/any(d: 'string' eq d) 
+   */
+  lambdaVariable,
+  
+  /**
+   * Class: {@link UriResourceNavigation}<br>
+   * URI:   http://.../serviceroot/entityset(1)/navProperty 
+   */
+  navigationProperty,
+  
+  /**
+   * Class: {@link UriResourceRef}<br>
+   * URI:   http://.../serviceroot/entityset/$ref 
+   */
+  ref,
+  
+  /**
+   * Class: {@link UriResourceRoot}<br>
+   * URI:   http://.../serviceroot/entityset(1)?$filter=property eq $root/singleton/configstring 
+   */
+  root,
+    
+  /**
+   * Class: {@link UriResourceProperty}<br>
+   * URI:   http://.../serviceroot/entityset(1)/property 
+   */
+  primitiveProperty,
+  
+  /**
+   * Class: {@link UriResourceSingleton}<br>
+   * URI:   http://.../serviceroot/singleton 
+   */
+  singleton,
+  
+  /**
+   * Class: {@link UriResourceValue}<br>
+   * URI:   http://.../serviceroot/entityset(1)/property/$value
+   */
+  value,
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
index 12cf0de..77bba11 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
@@ -20,10 +20,20 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
 
+/**
+ * Used to describe an all lambda expression used within an resource path
+ * For example: http://.../serviceroot/entityset/all(...)
+ */
 public interface UriResourceLambdaAll extends UriResourcePartTyped {
 
-  public String getLamdaVariable();
+  /**
+   * @return Name of the lambda variable
+   */
+  public String getLambdaVariable();
 
+  /**
+   * @return Lambda expression
+   */
   public Expression getExpression();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
index 3f81b96..a844835 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
@@ -20,10 +20,20 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
 
+/**
+ * Used to describe an any lambda expression used within an resource path
+ * For example: http://.../serviceroot/entityset/any(...)
+ */
 public interface UriResourceLambdaAny extends UriResourcePartTyped {
 
+  /**
+   * @return Name of the lambda variable
+   */
   public String getLamdaVariable();
 
+  /**
+   * @return Lambda expression
+   */
   public Expression getExpression();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
deleted file mode 100644
index 827ada3..0000000
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata4.server.api.uri;
-
-public interface UriResourceLambdaRef extends UriResourcePartTyped {
-
-  public String getVariableText();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
new file mode 100644
index 0000000..8c1ab93
--- /dev/null
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ******************************************************************************/
+package org.apache.olingo.odata4.server.api.uri;
+
+/**
+ * Used to describe an lambda variable used within an resource path
+ * For example: http://.../serviceroot/entityset/listofstring/any(d: 'string' eq d)
+ */
+public interface UriResourceLambdaVariable extends UriResourcePartTyped {
+
+  
+  /**
+   * @return Name of the lambda variable
+   */
+  public String getVariableName();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
index ef027fd..8241d8f 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
@@ -23,14 +23,29 @@ import java.util.List;
 import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 
+/**
+ * Used to describe an navigation property used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/navProperty
+ */
 public interface UriResourceNavigation extends UriResourcePartTyped {
+  
+  /**
+   * @return Navigation property
+   */
+  EdmNavigationProperty getProperty();
 
+  /**
+   * @return Key predicates if used, otherwise null
+   */
   List<UriParameter> getKeyPredicates();
 
-  EdmNavigationProperty getProperty();
-
+  /**
+   * @return Type filter before key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnCollection();
 
+  /**
+   * @return Type filter behind key predicates if used, otherwise null
+   */
   EdmType getTypeFilterOnEntry();
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
index 3eca597..3edd0bb 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
@@ -21,12 +21,24 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 
+/**
+ * Used to describe an typed resource part (super interface)
+ */
 public interface UriResourcePartTyped extends UriResource {
 
+  /**
+   * @return Type of the resource part
+   */
   EdmType getType();
 
+  /**
+   * @return True if the resource part is a collection, otherwise false
+   */
   boolean isCollection();
 
+  /**
+   * @return String representation of the type
+   */
   String toString(boolean includeFilters);
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
index 896959b..64b0bc4 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
@@ -18,6 +18,10 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Used to describe an primitive property used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/property
+ */
 public interface UriResourcePrimitiveProperty extends UriResourceProperty {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
index d4a4e82..ea46a54 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
@@ -20,8 +20,14 @@ package org.apache.olingo.odata4.server.api.uri;
 
 import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
 
+/**
+ * Used to describe an resource part which is an property (super interface)
+ */
 public interface UriResourceProperty extends UriResourcePartTyped {
 
+  /**
+   * @return Property used in the resource path
+   */
   EdmProperty getProperty();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
index e8ccb65..4de993d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
@@ -18,6 +18,11 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+
+/**
+ * Used to describe an $ref used within an resource path
+ * For example: http://.../serviceroot/entityset/$ref
+ */
 public interface UriResourceRef extends UriResource {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
index ffe2211..a72d142 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
@@ -19,8 +19,9 @@
 package org.apache.olingo.odata4.server.api.uri;
 
 /**
- * Class indicating the $root reference. $root may be used within filter to
+ * Class indicating the $root reference. $root may be used within expressions to
  * refer to the current OData service
+ * For example: http://.../serviceroot/entityset(1)?$filter=property eq $root/singleton/configstring 
  */
 public interface UriResourceRoot extends UriResource {
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
index c5ee55c..827b6d8 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
@@ -21,12 +21,26 @@ package org.apache.olingo.odata4.server.api.uri;
 import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
 import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
 
+/**
+ * Used to describe an entity set used within an resource path
+ * For example: http://.../serviceroot/singleton
+ */
 public interface UriResourceSingleton extends UriResourcePartTyped {
 
+  /**
+   * @return Singleton used in the resource path
+   */
   EdmSingleton getSingleton();
 
+  /**
+   * @return Type of the Singleton
+   */
   EdmEntityType getEntityType();
 
+  
+  /**
+   * @return Type filter
+   */
   EdmEntityType getEntityTypeFilter();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
index befcac5..f7e2912 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
@@ -18,6 +18,10 @@
  ******************************************************************************/
 package org.apache.olingo.odata4.server.api.uri;
 
+/**
+ * Used to describe an $value used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/property/$value
+ */
 public interface UriResourceValue extends UriResource {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
index eae850e..92651f4 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
@@ -181,7 +181,7 @@ public class UriInfoImpl implements UriInfo {
   }
 
   @Override
-  public CountOption getInlineCountOption() {
+  public CountOption getCountOption() {
     return inlineCountOption;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
index 39ca238..4da057c 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.odata4.server.core.uri.queryoption.expression.Expressio
 
 public class UriResourceLambdaAllImpl extends UriResourceTypedImpl implements UriResourceLambdaAll {
   protected EdmProperty property;
-  private String lamdaVariable;
+  private String lambdaVariable;
   private ExpressionImpl expression;
 
   public UriResourceLambdaAllImpl() {
@@ -46,12 +46,12 @@ public class UriResourceLambdaAllImpl extends UriResourceTypedImpl implements Ur
   }
 
   @Override
-  public String getLamdaVariable() {
-    return lamdaVariable;
+  public String getLambdaVariable() {
+    return lambdaVariable;
   }
 
-  public UriResourceLambdaAllImpl setLamdaVariable(final String lamdaVariable) {
-    this.lamdaVariable = lamdaVariable;
+  public UriResourceLambdaAllImpl setLamdaVariable(final String lambdaVariable) {
+    this.lambdaVariable = lambdaVariable;
     return this;
   };
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
index 3a20c81..9cf93b1 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.odata4.server.core.uri.queryoption.expression.Expressio
 
 public class UriResourceLambdaAnyImpl extends UriResourceTypedImpl implements UriResourceLambdaAny {
   protected EdmProperty property;
-  private String lamdaVariable;
+  private String lambdaVariable;
   private ExpressionImpl expression;
 
   public UriResourceLambdaAnyImpl() {
@@ -47,11 +47,11 @@ public class UriResourceLambdaAnyImpl extends UriResourceTypedImpl implements Ur
 
   @Override
   public String getLamdaVariable() {
-    return lamdaVariable;
+    return lambdaVariable;
   }
 
-  public UriResourceLambdaAnyImpl setLamdaVariable(final String lamdaVariable) {
-    this.lamdaVariable = lamdaVariable;
+  public UriResourceLambdaAnyImpl setLamdaVariable(final String lambdaVariable) {
+    this.lambdaVariable = lambdaVariable;
     return this;
   };
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
index e3154dc..5b7f3b2 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
@@ -20,9 +20,9 @@ package org.apache.olingo.odata4.server.core.uri;
 
 import org.apache.olingo.odata4.commons.api.edm.EdmType;
 import org.apache.olingo.odata4.server.api.uri.UriResourceKind;
-import org.apache.olingo.odata4.server.api.uri.UriResourceLambdaRef;
+import org.apache.olingo.odata4.server.api.uri.UriResourceLambdaVariable;
 
-public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements UriResourceLambdaRef {
+public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements UriResourceLambdaVariable {
 
   private EdmType type;
   private boolean isCollection;
@@ -33,7 +33,7 @@ public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements Ur
   }
 
   @Override
-  public String getVariableText() {
+  public String getVariableName() {
     return variableText;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
index 2fba96c..6ffe604 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
@@ -29,7 +29,7 @@ public class UriResourceStartingTypeFilterImpl extends UriResourceWithKeysImpl {
   private boolean isCollection;
 
   public UriResourceStartingTypeFilterImpl() {
-    super(UriResourceKind.startingTypeFilter);
+    super(null);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
index b188355..ba472ab 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
@@ -169,7 +169,7 @@ public class UriInfoImplTest {
     assertEquals(filter, uriInfo.getFilterOption());
     assertEquals(format, uriInfo.getFormatOption());
     assertEquals(id, uriInfo.getIdOption());
-    assertEquals(inlinecount, uriInfo.getInlineCountOption());
+    assertEquals(inlinecount, uriInfo.getCountOption());
     assertEquals(orderby, uriInfo.getOrderByOption());
     assertEquals(search, uriInfo.getSearchOption());
     assertEquals(select, uriInfo.getSelectOption());

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
index c55488f..01edd83 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
@@ -99,7 +99,7 @@ public class UriResourceImplTest {
 
     assertEquals(false, impl.isCollection());
     assertEquals(expression, impl.getExpression());
-    assertEquals("A", impl.getLamdaVariable());
+    assertEquals("A", impl.getLambdaVariable());
     assertEquals(EdmPrimitiveTypeKind.Boolean.getEdmPrimitiveTypeInstance(), impl.getType());
     assertEquals("all", impl.toString());
   }
@@ -473,7 +473,7 @@ public class UriResourceImplTest {
 
     assertEquals("A", impl.toString());
     assertEquals(entityType, impl.getType());
-    assertEquals("A", impl.getVariableText());
+    assertEquals("A", impl.getVariableName());
     assertEquals(false, impl.isCollection());
     impl.setCollection(true);
     assertEquals(true, impl.isCollection());
@@ -483,7 +483,6 @@ public class UriResourceImplTest {
   @Test
   public void testUriResourceStartingTypeFilterImpl() {
     UriResourceStartingTypeFilterImpl impl = new UriResourceStartingTypeFilterImpl();
-    assertEquals(UriResourceKind.startingTypeFilter, impl.getKind());
 
     EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
index cbf0c33..fa5bf65 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
@@ -96,7 +96,7 @@ public class FilterTreeToText implements ExpressionVisitor<String> {
       String tmp = "";
       if (item instanceof UriResourceLambdaAll) {
         UriResourceLambdaAll all = (UriResourceLambdaAll) item;
-        tmp = visitLambdaExpression("ALL", all.getLamdaVariable(), all.getExpression());
+        tmp = visitLambdaExpression("ALL", all.getLambdaVariable(), all.getExpression());
       } else if (item instanceof UriResourceLambdaAny) {
         UriResourceLambdaAny any = (UriResourceLambdaAny) item;
         tmp = visitLambdaExpression("ANY", any.getLamdaVariable(), any.getExpression());

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
index 66b6d1a..90c82ab 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
@@ -213,7 +213,7 @@ public class ResourceValidator implements Validator {
   public ResourceValidator isLambdaVar(final String var) {
     String actualVar = null;
     if (uriPathInfo.getKind() == UriResourceKind.lambdaAll) {
-      actualVar = ((UriResourceLambdaAllImpl) uriPathInfo).getLamdaVariable();
+      actualVar = ((UriResourceLambdaAllImpl) uriPathInfo).getLambdaVariable();
     } else if (uriPathInfo.getKind() == UriResourceKind.lambdaAny) {
       actualVar = ((UriResourceLambdaAnyImpl) uriPathInfo).getLamdaVariable();
     } else {
@@ -227,8 +227,7 @@ public class ResourceValidator implements Validator {
   public ResourceValidator isTypeFilter(final FullQualifiedName expectedType) {
 
     if (uriPathInfo.getKind() != UriResourceKind.complexProperty &&
-        uriPathInfo.getKind() != UriResourceKind.singleton &&
-        uriPathInfo.getKind() != UriResourceKind.startingTypeFilter) {
+        uriPathInfo.getKind() != UriResourceKind.singleton) {
       fail("invalid resource kind: " + uriPathInfo.getKind().toString());
     }
 
@@ -552,7 +551,7 @@ public class ResourceValidator implements Validator {
   }
 
   public ResourceValidator isInlineCountText(final String inlineCountText) {
-    assertEquals(inlineCountText, uriInfo.getInlineCountOption().getText());
+    assertEquals(inlineCountText, uriInfo.getCountOption().getText());
     return this;
   }