Repository: olingo-odata4 Updated Branches: refs/heads/master 72b081388 -> 8ffd80ef3
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java index 4612ead..8ef3d73 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java @@ -23,6 +23,9 @@ import java.util.List; import org.apache.olingo.commons.api.edm.provider.annotation.AnnotationExpression; +/** + * Represents a CSDL annotation + */ public class CsdlAnnotation extends CsdlAbstractEdmItem implements CsdlAnnotatable { private static final long serialVersionUID = -7137313445729486860L; @@ -34,33 +37,64 @@ public class CsdlAnnotation extends CsdlAbstractEdmItem implements CsdlAnnotatab private List<CsdlAnnotation> annotation = new ArrayList<CsdlAnnotation>(); private AnnotationExpression annotationExpression; - + + /** + * Returns the annotated expression + * @return expression annotated expression + */ public AnnotationExpression getExpression() { return annotationExpression; } - + + /** + * Sets the annotated expression + * @param annotationExpression annotated expression + */ public void setExpression(final AnnotationExpression annotationExpression) { this.annotationExpression = annotationExpression; } - + + /** + * Returns the annotated term + * @return Term + */ public String getTerm() { return term; } - + + /** + * Sets the annotated expression + * @param term term + * @return this instance + */ public CsdlAnnotation setTerm(final String term) { this.term = term; return this; } - + + /** + * Returns the annotated qualifier + * @return annotated qualifier + */ public String getQualifier() { return qualifier; } - + + /** + * Sets the annotated qualifier + * @param qualifier annotated qualifier + * @return this instance + */ public CsdlAnnotation setQualifier(final String qualifier) { this.qualifier = qualifier; return this; } - + + /** + * Sets a list of annotations + * @param annotation list of annotations + * @return this instance + */ public CsdlAnnotation setAnnotations(final List<CsdlAnnotation> annotation) { this.annotation = annotation; return this; http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationExpression.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationExpression.java index 834ff9e..2425b9a 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationExpression.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationExpression.java @@ -20,13 +20,36 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import java.io.Serializable; -public interface AnnotationExpression extends Serializable { +import org.apache.olingo.commons.api.edm.annotation.EdmConstantAnnotationExpression; +import org.apache.olingo.commons.api.edm.annotation.EdmDynamicAnnotationExpression; +/** + * Super type of all annotation expressions + * A expression is either constant or dynamic + */ +public interface AnnotationExpression extends Serializable { + + /** + * Return true if the expression is constant + * @return true if the expression is constant + */ boolean isConstant(); - + + /** + * Casts the expression to {@link EdmConstantAnnotationExpression} + * @return Constant Expression + */ ConstantAnnotationExpression asConstant(); - + + /** + * Return true if the expression is dynamic + * @return true if the expression is dynamic + */ boolean isDynamic(); - + + /** + * Cast the expression to {@link EdmDynamicAnnotationExpression} + * @return Dynamic Expression + */ DynamicAnnotationExpression asDynamic(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationPath.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationPath.java index 81526e4..e9d52c1 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationPath.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/AnnotationPath.java @@ -18,8 +18,14 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * Represents an annotation path + */ public interface AnnotationPath extends DynamicAnnotationExpression { - + + /** + * Value of the path + * @return value of the path + */ String getValue(); - } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Apply.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Apply.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Apply.java index c39c1ff..9719e30 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Apply.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Apply.java @@ -22,9 +22,28 @@ import java.util.List; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * Represents an Edm:Apply expression + */ public interface Apply extends DynamicAnnotationExpression, CsdlAnnotatable { - + + /** + * A QualifiedName specifying the name of the client-side function to apply. + * <br/> + * OData defines three canonical functions. Services MAY support additional functions that MUST be qualified with a + * namespace or alias other than odata. Function names qualified with odata are reserved for this specification and + * its future versions. + * + * @see org.apache.olingo.commons.api.Constants#CANONICAL_FUNCTION_CONCAT + * @see org.apache.olingo.commons.api.Constants#CANONICAL_FUNCTION_FILLURITEMPLATE + * @see org.apache.olingo.commons.api.Constants#CANONICAL_FUNCTION_URIENCODE + * @return function full qualified name + */ String getFunction(); - + + /** + * Returns the expressions applied to the parameters of the function + * @return List of expression + */ List<AnnotationExpression> getParameters(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Cast.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Cast.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Cast.java index a5a32d9..4039a47 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Cast.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Cast.java @@ -21,18 +21,45 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import org.apache.olingo.commons.api.edm.geo.SRID; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * Represents an edm:Cast expression. + * Casts the value obtained from its single child expression to the specified type + */ public interface Cast extends DynamicAnnotationExpression, CsdlAnnotatable { - + /** + * Returns the facet attribute MaxLength + * @return Returns the facet attribute MaxLength + */ Integer getMaxLength(); - + + /** + * Returns the facet attribute Precision + * @return Returns the facet attribute Precision + */ Integer getPrecision(); + /** + * Returns the facet attribute Scale + * @return Returns the facet attribute Scale + */ Integer getScale(); + /** + * Returns the facet attribute SRID + * @return Returns the facet attribute SRID + */ SRID getSrid(); - + + /** + * Value cast to + * @return value cast to + */ String getType(); - + + /** + * Cast value of the expression + * @return Cast value + */ DynamicAnnotationExpression getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Collection.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Collection.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Collection.java index 1005bb2..2cf5f0b 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Collection.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Collection.java @@ -20,8 +20,17 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import java.util.List; +/** + * The edm:Collection expression enables a value to be obtained from zero or more child expressions. + * The value calculated by the collection expression is the collection of the values calculated + * by each of the child expressions. + */ public interface Collection extends DynamicAnnotationExpression { - + + /** + * Returns a list of child expression + * @return List of child expression + */ List<AnnotationExpression> getItems(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/ConstantAnnotationExpression.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/ConstantAnnotationExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/ConstantAnnotationExpression.java index cbd592a..9388262 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/ConstantAnnotationExpression.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/ConstantAnnotationExpression.java @@ -18,23 +18,69 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * Represents a constant expression + */ public interface ConstantAnnotationExpression extends AnnotationExpression { - + + /** + * Type of the constant expression + */ public enum Type { - + /** + * Type Edm.binary + */ Binary, + /** + * Type Edm.Bool + */ Bool, + /** + * Type Edm.Date + */ Date, + /** + * Type Edm.DateTimeOffset + */ DateTimeOffset, + /** + * Type Edm.Decimal + */ Decimal, + /** + * Type Edm.Duration + */ Duration, + /** + * Type Edm.EnumMeber + */ EnumMember, + /** + * Type Edm.Float + */ Float, + /** + * Type Edm.GUID + */ Guid, + /** + * Type Integer + */ Int, + /** + * Type Edm.String + */ String, + /** + * Type Edm.TimeOfDay + */ TimeOfDay; - + + /** + * Creates a new type by a given string e.g. "TimeOfDay" + * @param value Type as string + * @return Type + */ public static Type fromString(final String value) { Type result = null; try { @@ -46,11 +92,27 @@ public interface ConstantAnnotationExpression extends AnnotationExpression { } } + /** + * Returns the type of the constant exprssion + * @return type of the constant expresion + */ Type getType(); - + + /** + * Sets the type of the constant expression + * @param type + */ void setType(Type type); - + + /** + * Value of the constant expression + * @return value of the constant expression as String + */ String getValue(); - + + /** + * Sets the value of the constant expression + * @param value value of the constant expression + */ void setValue(String value); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/DynamicAnnotationExpression.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/DynamicAnnotationExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/DynamicAnnotationExpression.java index e10afc0..a8c567a 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/DynamicAnnotationExpression.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/DynamicAnnotationExpression.java @@ -18,74 +18,224 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * Represents a dynamic expression + */ public interface DynamicAnnotationExpression extends AnnotationExpression { - + + /** + * Returns true if the expression is a logical edm:Not expression + * @return true if the expression is a logical edm:Not expression + */ boolean isNot(); - + + /** + * Casts the expression to a {@link Not} expression + * @return Not expression + */ Not asNot(); - + + /** + * Returns true iff the annotation is an expression with two operands. + * If so, the expression is one of: + * <ul> + * <li>And</li> + * <li>Or</li> + * <li>Eq</li> + * <li>Ne</li> + * <li>Gt</li> + * <li>Ge</li> + * <li>Lt</li> + * <li>Le</li> + * + * @return true iff the annotation is an expression with two operands. + */ boolean isTwoParamsOp(); - + + /** + * Casts the expression as {@link TwoParamsOpDynamicAnnotationExpression} + * @return TwoParamsOpDynamicAnnotationExpression + */ TwoParamsOpDynamicAnnotationExpression asTwoParamsOp(); - + + /** + * Returns true if the expression is a edm:AnnotationPath expression + * @return true if the expression is a edm:AnnotationPath expression + */ boolean isAnnotationPath(); - + + /** + * Casts the expression to a {@link AnnotationPath} expression + * @return AnnotationPath expression + */ AnnotationPath asAnnotationPath(); - + + /** + * Returns true if the expression is a edm:Apply expression + * @return true if the expression is a edm:Apply expression + */ boolean isApply(); - + + /** + * Casts the expression to a {@link Apply} expression + * @return Apply expression + */ Apply asApply(); - + + /** + * Returns true if the expression is a edm:Cast expression + * @return true if the expression is a edm:Cast expression + */ boolean isCast(); - + + /** + * Casts the expression to a {@link Cast} expression + * @return Cast expression + */ Cast asCast(); - + + /** + * Returns true if the expression is a edm:Collection expression + * @return true if the expression is a edm:Collection expression + */ boolean isCollection(); - + + /** + * Casts the expression to a {@link Collection} expression + * @return Collection expression + */ Collection asCollection(); - + + /** + * Returns true if the expression is a edm:If expression + * @return true if the expression is a edm:If expression + */ boolean isIf(); - + + /** + * Casts the expression to a {@link If} expression + * @return If expression + */ If asIf(); - + + /** + * Returns true if the expression is a edm:IsOf expression + * @return true if the expression is a edm:IsOf expression + */ boolean isIsOf(); - + + /** + * Casts the expression to a {@link IsOf} expression + * @return IsOf expression + */ IsOf asIsOf(); - + + /** + * Returns true if the expression is a edm:LabeledElement expression + * @return true if the expression is a edm:LabeledElement expression + */ boolean isLabeledElement(); - + + /** + * Casts the expression to a {@link LabeledElement} expression + * @return LabeledElement expression + */ LabeledElement asLabeledElement(); - + + /** + * Returns true if the expression is a edm:LabeledElementReference expression + * @return true if the expression is a edm:LabeledElementReference expression + */ boolean isLabeledElementReference(); - + + /** + * Casts the expression to a {@link LabeledElementReference} expression + * @return LabeledElementReference expression + */ LabeledElementReference asLabeledElementReference(); - + + /** + * Returns true if the expression is a edm:Null expression + * @return true if the expression is a edm:Null expression + */ boolean isNull(); - + + /** + * Casts the expression to a {@link Null} expression + * @return Null expression + */ Null asNull(); - + + /** + * Returns true if the expression is a edm:NavigationPropertyPath expression + * @return true if the expression is a edm:NavigationPropertyPath expression + */ boolean isNavigationPropertyPath(); - + + /** + * Casts the expression to a {@link NavigationPropertyPath} expression + * @return NavigationPropertyPath expression + */ NavigationPropertyPath asNavigationPropertyPath(); - + + /** + * Returns true if the expression is a edm:Path expression + * @return true if the expression is a edm:Path expression + */ boolean isPath(); - + + /** + * Casts the expression to a {@link Path} expression + * @return Path expression + */ Path asPath(); - + + /** + * Returns true if the expression is a edm:PropertyPath expression + * @return true if the expression is a edm:PropertyPath expression + */ boolean isPropertyPath(); - + + /** + * Casts the expression to a {@link PropertyPath} expression + * @return PropertyPath expression + */ PropertyPath asPropertyPath(); - + + /** + * Returns true if the expression is a edm:PropertyValue expression + * @return true if the expression is a edm:PropertyValue expression + */ boolean isPropertyValue(); + /** + * Casts the expression to a {@link PropertyValue} expression + * @return PropertyValue expression + */ PropertyValue asPropertyValue(); - + + /** + * Returns true if the expression is a edm:Record expression + * @return true if the expression is a edm:Record expression + */ boolean isRecord(); - + + /** + * Casts the expression to a {@link Record} expression + * @return Record expression + */ Record asRecord(); + /** + * Returns true if the expression is a edm:UrlRef expression + * @return true if the expression is a edm:UrlRef expression + */ boolean isUrlRef(); - + + /** + * Casts the expression to a {@link UrlRef} expression + * @return UrlRef expression + */ UrlRef asUrlRef(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/If.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/If.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/If.java index 833d1db..2e407d8 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/If.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/If.java @@ -20,12 +20,35 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * Represents a edm:If expression + */ public interface If extends DynamicAnnotationExpression, CsdlAnnotatable { + /** + * Returns the first expression of the edm:If expression. + * This expression represents the condition of the if expression + * + * @return First expression of the if expression + */ AnnotationExpression getGuard(); + /** + * Return the second expression of the edm:If expression. + * If the condition of the condition is evaluated to true, + * this expression as to be executed. + * + * @return Second Expression of the edm:If expression + */ AnnotationExpression getThen(); - + + /** + * Return the third expression of the edm:If expression. + * If the condition of the condition is evaluated to false, + * this expression as to be executed. + * + * @return Third Expression of the edm:If expression + */ AnnotationExpression getElse(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/IsOf.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/IsOf.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/IsOf.java index 369181c..8ac40e8 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/IsOf.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/IsOf.java @@ -21,18 +21,46 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import org.apache.olingo.commons.api.edm.geo.SRID; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * The edm:IsOf expression evaluates a child expression and returns a Boolean value indicating whether + * the child expression returns the specified type + */ public interface IsOf extends DynamicAnnotationExpression, CsdlAnnotatable { - + + /** + * Facet MaxLength + * @return fact MaxLength + */ Integer getMaxLength(); - + + /** + * Facet Precision + * @return fact Precision + */ Integer getPrecision(); - + + /** + * Facet Scale + * @return facet Scale + */ Integer getScale(); - + + /** + * Facet SRID + * @return facet SRID + */ SRID getSrid(); - + + /** + * The type which is checked again the child expression + * @return EdmType + */ String getType(); - + + /** + * Returns true if the child expression returns the specified typed + * @return Returns true if the child expression returns the specified typed + */ DynamicAnnotationExpression getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElement.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElement.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElement.java index 6d8dc9b..26c988d 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElement.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElement.java @@ -20,10 +20,23 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * The edm:LabeledElement expression assigns a name to a child expression. The value of the child expression can + * then be reused elsewhere with an edm:LabeledElementReference (See {@link LabeledElementReference}) expression. + */ public interface LabeledElement extends DynamicAnnotationExpression, CsdlAnnotatable { - + + /** + * Returns the assigned name + * @return assigned name + */ String getName(); - + + /** + * Returns the child expression + * + * @return child expression + */ DynamicAnnotationExpression getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElementReference.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElementReference.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElementReference.java index 4a8744b..f17e46c 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElementReference.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/LabeledElementReference.java @@ -18,8 +18,16 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * The edm:LabeledElementReference expression returns the value of an + * edm:LabeledElement (see {@link LabeledElement}) expression. + */ public interface LabeledElementReference extends DynamicAnnotationExpression { - + + /** + * Returns the value of the edm:LabeledElement expression + * @return value of the edm:LabeledElement expression + */ String getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/NavigationPropertyPath.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/NavigationPropertyPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/NavigationPropertyPath.java index 647399d..e72e113 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/NavigationPropertyPath.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/NavigationPropertyPath.java @@ -18,8 +18,16 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * The edm:NavigationPropertyPath expression provides a value for terms or term properties that specify the + * built-in abstract type Edm.NavigationPropertyPath + */ public interface NavigationPropertyPath extends DynamicAnnotationExpression { - + /** + * Returns the navigation property path itself. + * + * @return navigation property + */ String getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Not.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Not.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Not.java index e5948e9..359d3f0 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Not.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Not.java @@ -18,7 +18,14 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * Represents a logical edm:Le expression + */ public interface Not extends DynamicAnnotationExpression { - + + /** + * Returns a boolean value + * @return either true or false + */ DynamicAnnotationExpression getExpression(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Null.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Null.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Null.java index 27230c7..84fafde 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Null.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Null.java @@ -20,6 +20,9 @@ package org.apache.olingo.commons.api.edm.provider.annotation; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * The edm:Null expression returns an untyped null value. + */ public interface Null extends DynamicAnnotationExpression, CsdlAnnotatable { // No additional methods needed for now. } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Path.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Path.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Path.java index 85c6518..868207c 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Path.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Path.java @@ -18,8 +18,18 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * The edm:Path expression enables a value to be obtained by traversing an object graph. + * It can be used in annotations that target entity containers, entity sets, entity types, complex types, + * navigation properties of structured types, and properties of structured types. + */ public interface Path extends DynamicAnnotationExpression { + /** + * Returns the target value of the expression + * + * @return target value of the expression + */ String getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyPath.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyPath.java index 9c2e4f2..d8c1e7e 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyPath.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyPath.java @@ -18,8 +18,16 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * The edm:PropertyPath expression provides a value for terms or term properties that specify the built-in + * abstract type Edm.PropertyPath. + */ public interface PropertyPath extends DynamicAnnotationExpression { + /** + * Returns the property path itself. + * @return the property path itself + */ String getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyValue.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyValue.java index 08c07b3..bc16d59 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyValue.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/PropertyValue.java @@ -18,12 +18,25 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +import org.apache.olingo.commons.api.edm.annotation.EdmRecord; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * The edm:PropertyValue element supplies a value to a property on the type instantiated by an + * edm:Record expression (See {@link EdmRecord}). The value is obtained by evaluating an expression. + */ public interface PropertyValue extends DynamicAnnotationExpression, CsdlAnnotatable { - + + /** + * Property name + * @return Property name + */ String getProperty(); - + + /** + * Evaluated value of the expression (property value) + * @return evaluated value of the expression + */ AnnotationExpression getValue(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Record.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Record.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Record.java index 6644e71..89df24d 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Record.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/Record.java @@ -22,10 +22,22 @@ import java.util.List; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotatable; +/** + * The edm:Record expression enables a new entity type or complex type instance to be constructed. + * A record expression contains zero or more edm:PropertyValue (See {@link Record} )elements. + */ public interface Record extends DynamicAnnotationExpression, CsdlAnnotatable { - + + /** + * List of edm:PropertyValues (See {@link PropertyValue} + * @return List of edm:PropertyValues (See {@link PropertyValue} + */ List<PropertyValue> getPropertyValues(); - + + /** + * Returns the entity type or complex type to be constructed. + * @return Entity type or complex type + */ String getType(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/TwoParamsOpDynamicAnnotationExpression.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/TwoParamsOpDynamicAnnotationExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/TwoParamsOpDynamicAnnotationExpression.java index f11ccc6..b15aeba 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/TwoParamsOpDynamicAnnotationExpression.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/TwoParamsOpDynamicAnnotationExpression.java @@ -18,19 +18,53 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * Represents a generic expression with two child exprssions + */ public interface TwoParamsOpDynamicAnnotationExpression extends DynamicAnnotationExpression { + /** + * Type (Operator) of the expression + */ public static enum Type { - + /** + * Logical And + */ And, + /** + * Logical Or + */ Or, + /** + * Equals + */ Eq, + /** + * Not equals + */ Ne, + /** + * Greater than + */ Gt, + /** + * Greater or equals than + */ Ge, + /** + * Less than + */ Lt, + /** + * Less or equals than + */ Le; - + + /** + * Creates the type(Operator) of a expressin + * @param value Value of the operator like "And" or "Eq" + * @return Type(Operator) of the expression + */ public static Type fromString(final String value) { Type result = null; for (Type type : values()) { @@ -41,10 +75,22 @@ public interface TwoParamsOpDynamicAnnotationExpression extends DynamicAnnotatio return result; } } - + + /** + * Returns the type of the expression result + * @return Type of the result + */ Type getType(); - + + /** + * Returns the first expression (left child) + * @return Child expression + */ DynamicAnnotationExpression getLeftExpression(); - + + /** + * Returns the second expression (right child) + * @return Child expression + */ DynamicAnnotationExpression getRightExpression(); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ffd80ef/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/UrlRef.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/UrlRef.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/UrlRef.java index 083c9d4..973a7a6 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/UrlRef.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/UrlRef.java @@ -18,8 +18,16 @@ */ package org.apache.olingo.commons.api.edm.provider.annotation; +/** + * The edm:UrlRef expression enables a value to be obtained by sending a GET request to the value of + * the UrlRef expression. + */ public interface UrlRef extends DynamicAnnotationExpression { - + + /** + * Returns a expression of type Edm.String + * @return expression of type Edm.String + */ AnnotationExpression getValue(); }
