olingo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ilgro...@apache.org
Subject [3/3] git commit: [OLINGO-169] Making client-api Edm interfaces less dumb
Date Tue, 25 Feb 2014 11:22:10 GMT
[OLINGO-169] Making client-api Edm interfaces less dumb


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/df906e43
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/df906e43
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/df906e43

Branch: refs/heads/olingo169
Commit: df906e43c6f7213adc72d9cb38f00acb3427c1c3
Parents: 07400ab
Author: Francesco Chicchiriccò <ilgrosso@apache.org>
Authored: Tue Feb 25 12:21:56 2014 +0100
Committer: Francesco Chicchiriccò <ilgrosso@apache.org>
Committed: Tue Feb 25 12:21:56 2014 +0100

----------------------------------------------------------------------
 .../client/api/edm/AbstractAnnotations.java     | 30 +++++++
 .../client/api/edm/CommonFunctionImport.java    | 22 +++++
 .../api/edm/CommonNavigationProperty.java       | 22 +++++
 .../odata4/client/api/edm/CommonParameter.java  | 45 ++++++++++
 .../odata4/client/api/edm/CommonProperty.java   | 74 +++++++++++++++
 .../odata4/client/api/edm/ComplexType.java      | 10 +--
 .../odata4/client/api/edm/DataServices.java     |  4 +-
 .../odata4/client/api/edm/EntityContainer.java  | 33 ++++++-
 .../olingo/odata4/client/api/edm/EntityKey.java |  3 +
 .../olingo/odata4/client/api/edm/EntitySet.java |  6 +-
 .../odata4/client/api/edm/EntityType.java       | 22 ++++-
 .../olingo/odata4/client/api/edm/EnumType.java  |  6 +-
 .../odata4/client/api/edm/FunctionImport.java   | 26 ------
 .../olingo/odata4/client/api/edm/Named.java     | 26 ++++++
 .../client/api/edm/NavigationProperty.java      | 23 -----
 .../api/edm/NavigationPropertyBinding.java      | 23 -----
 .../olingo/odata4/client/api/edm/OnDelete.java  | 28 ++++++
 .../olingo/odata4/client/api/edm/Parameter.java | 23 -----
 .../olingo/odata4/client/api/edm/Property.java  | 24 -----
 .../odata4/client/api/edm/PropertyRef.java      |  5 +-
 .../olingo/odata4/client/api/edm/Schema.java    |  4 +-
 .../odata4/client/api/edm/v3/Annotations.java   | 11 ++-
 .../odata4/client/api/edm/v3/Association.java   | 11 ++-
 .../client/api/edm/v3/AssociationEnd.java       | 17 ++++
 .../client/api/edm/v3/AssociationSet.java       | 10 ++-
 .../client/api/edm/v3/AssociationSetEnd.java    |  7 ++
 .../client/api/edm/v3/FunctionImport.java       | 60 +++++++++++++
 .../client/api/edm/v3/NavigationProperty.java   | 34 +++++++
 .../odata4/client/api/edm/v3/Parameter.java     | 26 ++++++
 .../odata4/client/api/edm/v3/Property.java      | 50 +++++++++++
 .../odata4/client/api/edm/v3/PropertyValue.java | 36 ++++++++
 .../api/edm/v3/ReferentialConstraint.java       |  7 ++
 .../api/edm/v3/ReferentialConstraintRole.java   | 32 +++++++
 .../client/api/edm/v3/TypeAnnotation.java       | 12 +++
 .../olingo/odata4/client/api/edm/v3/Using.java  |  8 ++
 .../client/api/edm/v3/ValueAnnotation.java      | 40 +++++++++
 .../odata4/client/api/edm/v3/ValueTerm.java     |  7 +-
 .../olingo/odata4/client/api/edm/v4/Action.java | 22 ++++-
 .../odata4/client/api/edm/v4/ActionImport.java  |  5 +-
 .../client/api/edm/v4/AnnotatedEdmItem.java     | 26 ++++++
 .../odata4/client/api/edm/v4/Annotations.java   |  8 +-
 .../odata4/client/api/edm/v4/ComplexType.java   | 35 ++++++++
 .../olingo/odata4/client/api/edm/v4/Edmx.java   | 26 ++++++
 .../client/api/edm/v4/EntityContainer.java      | 43 +++++++++
 .../odata4/client/api/edm/v4/EntitySet.java     | 30 +++++++
 .../odata4/client/api/edm/v4/EntityType.java    | 23 +++++
 .../odata4/client/api/edm/v4/Function.java      | 26 ++++++
 .../client/api/edm/v4/FunctionImport.java       | 32 +++++++
 .../odata4/client/api/edm/v4/Include.java       |  7 ++
 .../client/api/edm/v4/IncludeAnnotations.java   | 11 +++
 .../client/api/edm/v4/NavigationProperty.java   | 49 ++++++++++
 .../api/edm/v4/NavigationPropertyBinding.java   | 31 +++++++
 .../odata4/client/api/edm/v4/OnDelete.java      | 26 ------
 .../client/api/edm/v4/OperationImport.java      | 28 ++++++
 .../odata4/client/api/edm/v4/Parameter.java     | 26 ++++++
 .../odata4/client/api/edm/v4/Property.java      | 25 ++++++
 .../odata4/client/api/edm/v4/Reference.java     | 12 +++
 .../api/edm/v4/ReferentialConstraint.java       |  8 ++
 .../odata4/client/api/edm/v4/ReturnType.java    | 25 ++++++
 .../odata4/client/api/edm/v4/Singleton.java     | 11 ++-
 .../olingo/odata4/client/api/edm/v4/Term.java   | 39 +++++++-
 .../client/api/edm/v4/TypeDefinition.java       | 31 ++++++-
 .../edm/v4/annotation/ConstExprConstruct.java   |  2 +-
 .../api/edm/v4/annotation/DynExprConstruct.java |  2 +-
 .../api/edm/v4/annotation/ExprConstruct.java    | 23 +++++
 .../odata4/client/api/op/ODataReader.java       |  2 -
 .../core/data/impl/v3/ODataReaderImpl.java      |  1 +
 .../client/core/edm/AbstractAnnotations.java    |  8 +-
 .../client/core/edm/AbstractComplexType.java    | 12 +++
 .../client/core/edm/AbstractDataServices.java   |  8 +-
 .../odata4/client/core/edm/AbstractEdmItem.java | 19 ++++
 .../core/edm/AbstractEntityContainer.java       | 38 ++++----
 .../client/core/edm/AbstractEntityType.java     | 14 ++-
 .../client/core/edm/AbstractFunctionImport.java | 27 ------
 .../core/edm/AbstractNavigationProperty.java    |  6 +-
 .../client/core/edm/AbstractParameter.java      | 16 +++-
 .../client/core/edm/AbstractProperty.java       | 94 ++++++--------------
 .../odata4/client/core/edm/AbstractSchema.java  | 24 +----
 .../odata4/client/core/edm/EntityKeyImpl.java   |  7 +-
 .../odata4/client/core/edm/EntitySetImpl.java   | 25 ------
 .../odata4/client/core/edm/OnDeleteImpl.java    |  2 +-
 .../odata4/client/core/edm/PropertyRefImpl.java |  4 +
 .../client/core/edm/v3/AnnotationsImpl.java     |  5 +-
 .../client/core/edm/v3/AssociationEndImpl.java  | 10 ++-
 .../client/core/edm/v3/AssociationImpl.java     | 12 +--
 .../core/edm/v3/AssociationSetEndImpl.java      |  4 +
 .../client/core/edm/v3/AssociationSetImpl.java  |  5 ++
 .../client/core/edm/v3/ComplexTypeImpl.java     | 28 +++---
 .../client/core/edm/v3/EntityTypeImpl.java      | 26 ++----
 .../client/core/edm/v3/FunctionImportImpl.java  | 21 ++++-
 .../odata4/client/core/edm/v3/MemberImpl.java   |  3 +-
 .../core/edm/v3/NavigationPropertyImpl.java     |  9 +-
 .../client/core/edm/v3/ParameterImpl.java       |  5 +-
 .../odata4/client/core/edm/v3/PropertyImpl.java | 71 ++++++++++++++-
 .../client/core/edm/v3/PropertyValueImpl.java   | 16 ++++
 .../core/edm/v3/ReferentialConstraintImpl.java  | 20 +++--
 .../core/edm/v3/ReferentialConstraintRole.java  | 51 -----------
 .../ReferentialConstraintRoleDeserializer.java  |  6 +-
 .../edm/v3/ReferentialConstraintRoleImpl.java   | 50 +++++++++++
 .../odata4/client/core/edm/v3/SchemaImpl.java   | 16 +---
 .../client/core/edm/v3/TypeAnnotationImpl.java  | 43 +++++----
 .../odata4/client/core/edm/v3/UsingImpl.java    |  4 +
 .../client/core/edm/v3/ValueAnnotationImpl.java | 21 ++++-
 .../client/core/edm/v3/ValueTermImpl.java       |  4 +
 .../core/edm/v4/AbstractAnnotatedEdmItem.java   |  1 +
 .../odata4/client/core/edm/v4/ActionImpl.java   | 29 +++---
 .../client/core/edm/v4/ActionImportImpl.java    |  9 +-
 .../client/core/edm/v4/AnnotatedEdmItem.java    | 28 ------
 .../client/core/edm/v4/AnnotationsImpl.java     |  3 +-
 .../client/core/edm/v4/ComplexTypeImpl.java     | 35 ++++----
 .../odata4/client/core/edm/v4/EdmxImpl.java     |  4 +-
 .../client/core/edm/v4/EntityContainerImpl.java | 28 ++----
 .../client/core/edm/v4/EntitySetImpl.java       | 13 +--
 .../client/core/edm/v4/EntityTypeImpl.java      | 29 ++----
 .../odata4/client/core/edm/v4/EnumTypeImpl.java |  1 +
 .../core/edm/v4/FunctionDeserializer.java       | 18 ++--
 .../odata4/client/core/edm/v4/FunctionImpl.java | 21 +++--
 .../client/core/edm/v4/FunctionImportImpl.java  | 10 ++-
 .../core/edm/v4/IncludeAnnotationsImpl.java     |  6 ++
 .../odata4/client/core/edm/v4/IncludeImpl.java  |  4 +
 .../odata4/client/core/edm/v4/MemberImpl.java   |  4 +-
 .../edm/v4/NavigationPropertyBindingImpl.java   |  6 +-
 .../core/edm/v4/NavigationPropertyImpl.java     | 19 +++-
 .../client/core/edm/v4/ParameterImpl.java       |  5 +-
 .../odata4/client/core/edm/v4/PropertyImpl.java |  3 +-
 .../client/core/edm/v4/ReferenceImpl.java       |  5 ++
 .../core/edm/v4/ReferentialConstraintImpl.java  |  4 +
 .../client/core/edm/v4/ReturnTypeImpl.java      | 12 +++
 .../odata4/client/core/edm/v4/SchemaImpl.java   | 17 +---
 .../client/core/edm/v4/SingletonImpl.java       |  5 ++
 .../odata4/client/core/edm/v4/TermImpl.java     | 19 ++++
 .../client/core/edm/v4/TypeDefinitionImpl.java  | 20 ++++-
 .../annotation/AnnotatedDynExprConstruct.java   |  2 +-
 .../client/core/edm/v4/annotation/Apply.java    |  5 +-
 .../client/core/edm/v4/annotation/Cast.java     |  7 +-
 .../core/edm/v4/annotation/Collection.java      |  5 +-
 .../edm/v4/annotation/DynExprDoubleParamOp.java | 14 +--
 .../edm/v4/annotation/DynExprSingleParamOp.java |  8 +-
 .../edm/v4/annotation/ExprConstructImpl.java    |  3 +-
 .../client/core/edm/v4/annotation/If.java       | 20 +++--
 .../client/core/edm/v4/annotation/IsOf.java     |  7 +-
 .../core/edm/v4/annotation/LabeledElement.java  |  7 +-
 .../core/edm/v4/annotation/PropertyValue.java   |  7 +-
 .../client/core/edm/v4/annotation/UrlRef.java   |  7 +-
 144 files changed, 1948 insertions(+), 698 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
new file mode 100644
index 0000000..cf52cf4
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
@@ -0,0 +1,30 @@
+/*
+ * 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.client.api.edm;
+
+public abstract interface AbstractAnnotations {
+
+  String getTarget();
+
+  void setTarget(String target);
+
+  String getQualifier();
+
+  void setQualifier(String qualifier);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
new file mode 100644
index 0000000..739d08a
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
@@ -0,0 +1,22 @@
+/*
+ * 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.client.api.edm;
+
+public interface CommonFunctionImport extends Named {
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
new file mode 100644
index 0000000..2637a0c
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
@@ -0,0 +1,22 @@
+/*
+ * 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.client.api.edm;
+
+public interface CommonNavigationProperty extends Named {
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
new file mode 100644
index 0000000..31f737f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
@@ -0,0 +1,45 @@
+/*
+ * 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.client.api.edm;
+
+import java.math.BigInteger;
+
+public interface CommonParameter extends Named {
+
+  String getType();
+
+  void setType(String type);
+
+  boolean isNullable();
+
+  void setNullable(boolean nullable);
+
+  String getMaxLength();
+
+  void setMaxLength(String maxLength);
+
+  BigInteger getPrecision();
+
+  void setPrecision(BigInteger precision);
+
+  BigInteger getScale();
+
+  void setScale(BigInteger scale);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
new file mode 100644
index 0000000..16cc03a
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
@@ -0,0 +1,74 @@
+/*
+ * 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.client.api.edm;
+
+import java.math.BigInteger;
+import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
+import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+
+public interface CommonProperty extends Named {
+
+  String getType();
+
+  void setType(String type);
+
+  boolean isNullable();
+
+  void setNullable(boolean nullable);
+
+  String getDefaultValue();
+
+  void setDefaultValue(String defaultValue);
+
+  String getMaxLength();
+
+  void setMaxLength(String maxLength);
+
+  boolean isFixedLength();
+
+  void setFixedLength(boolean fixedLength);
+
+  BigInteger getPrecision();
+
+  void setPrecision(BigInteger precision);
+
+  BigInteger getScale();
+
+  void setScale(BigInteger scale);
+
+  boolean isUnicode();
+
+  void setUnicode(boolean unicode);
+
+  String getCollation();
+
+  void setCollation(String collation);
+
+  String getSrid();
+
+  void setSrid(String srid);
+
+  ConcurrencyMode getConcurrencyMode();
+
+  void setConcurrencyMode(ConcurrencyMode concurrencyMode);
+
+  StoreGeneratedPattern getStoreGeneratedPattern();
+
+  void setStoreGeneratedPattern(StoreGeneratedPattern storeGeneratedPattern);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
index 3771d5c..929d1b8 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
@@ -20,13 +20,13 @@ package org.apache.olingo.odata4.client.api.edm;
 
 import java.util.List;
 
-public interface ComplexType {
+public interface ComplexType extends Named {
 
-  String getName();
+  CommonProperty getProperty(String name);
 
-  void setName(String name);
+  List<? extends CommonProperty> getProperties();
 
-  public abstract List<? extends Property> getProperties();
+  CommonNavigationProperty getNavigationProperty(String name);
 
-  public abstract Property getProperty(String name);
+  List<? extends CommonNavigationProperty> getNavigationProperties();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
index 9d72c7e..2972991 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
@@ -24,11 +24,11 @@ public interface DataServices {
 
   String getDataServiceVersion();
 
-  void setDataServiceVersion(String dataServiceVersion);
+  void setDataServiceVersion(String version);
 
   String getMaxDataServiceVersion();
 
-  void setMaxDataServiceVersion(String maxDataServiceVersion);
+  void setMaxDataServiceVersion(String version);
 
   List<? extends Schema> getSchemas();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
index a0a507d..c3eb080 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
@@ -20,12 +20,39 @@ package org.apache.olingo.odata4.client.api.edm;
 
 import java.util.List;
 
-public interface EntityContainer {
+public interface EntityContainer extends Named {
 
-  List<? extends EntitySet> getEntitySets();
+  String getExtends();
+
+  void setExtends(String _extends);
+
+  boolean isLazyLoadingEnabled();
+
+  void setLazyLoadingEnabled(boolean lazyLoadingEnabled);
+
+  boolean isDefaultEntityContainer();
+
+  void setDefaultEntityContainer(boolean defaultEntityContainer);
 
   EntitySet getEntitySet(String name);
 
-  List<? extends FunctionImport> getFunctionImports();
+  List<? extends EntitySet> getEntitySets();
+
+  /**
+   * Gets the first function import with given name.
+   *
+   * @param name name.
+   * @return function import.
+   */
+  CommonFunctionImport getFunctionImport(String name);
+
+  /**
+   * Gets all function imports with given name.
+   *
+   * @param name name.
+   * @return function imports.
+   */
+  List<? extends CommonFunctionImport> getFunctionImports(String name);
 
+  List<? extends CommonFunctionImport> getFunctionImports();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
index ca903e9..ee89a9a 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
@@ -18,6 +18,9 @@
  */
 package org.apache.olingo.odata4.client.api.edm;
 
+import java.util.List;
+
 public interface EntityKey {
 
+  List<? extends PropertyRef> getPropertyRefs();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
index 4c75e9f..98c854d 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
@@ -18,11 +18,7 @@
  */
 package org.apache.olingo.odata4.client.api.edm;
 
-public interface EntitySet {
-
-  String getName();
-
-  void setName(String name);
+public interface EntitySet extends Named {
 
   String getEntityType();
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
index 5779fbe..37ebc35 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
@@ -18,11 +18,25 @@
  */
 package org.apache.olingo.odata4.client.api.edm;
 
-import java.util.List;
-
 public interface EntityType extends ComplexType {
 
-  List<? extends NavigationProperty> getNavigationProperties();
+  boolean isAbstractEntityType();
+
+  void setAbstractEntityType(boolean abstractEntityType);
+
+  String getBaseType();
+
+  void setBaseType(String baseType);
+
+  boolean isOpenType();
+
+  void setOpenType(boolean openType);
+
+  EntityKey getKey();
+
+  void setKey(EntityKey key);
+
+  boolean isHasStream();
 
-  NavigationProperty getNavigationProperty(String name);
+  void setHasStream(boolean hasStream);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
index 854da14..614c5e1 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
@@ -20,11 +20,7 @@ package org.apache.olingo.odata4.client.api.edm;
 
 import java.util.List;
 
-public interface EnumType {
-
-  String getName();
-
-  void setName(String name);
+public interface EnumType extends Named {
 
   String getUnderlyingType();
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/FunctionImport.java
deleted file mode 100644
index 412b628..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/FunctionImport.java
+++ /dev/null
@@ -1,26 +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.client.api.edm;
-
-public interface FunctionImport {
-
-  String getName();
-
-  String getEntitySet();
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
new file mode 100644
index 0000000..5d90e2d
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
@@ -0,0 +1,26 @@
+/*
+ * 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.client.api.edm;
+
+public interface Named {
+
+  String getName();
+
+  void setName(String name);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationProperty.java
deleted file mode 100644
index 1980a5f..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationProperty.java
+++ /dev/null
@@ -1,23 +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.client.api.edm;
-
-public interface NavigationProperty {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationPropertyBinding.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationPropertyBinding.java
deleted file mode 100644
index 311e321..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/NavigationPropertyBinding.java
+++ /dev/null
@@ -1,23 +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.client.api.edm;
-
-public interface NavigationPropertyBinding {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
new file mode 100644
index 0000000..1936328
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
@@ -0,0 +1,28 @@
+/*
+ * 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.client.api.edm;
+
+import org.apache.olingo.odata4.client.api.edm.v4.OnDeleteAction;
+
+public interface OnDelete {
+
+  OnDeleteAction getAction();
+
+  void setAction(OnDeleteAction action);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Parameter.java
deleted file mode 100644
index e831f51..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Parameter.java
+++ /dev/null
@@ -1,23 +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.client.api.edm;
-
-public interface Parameter {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Property.java
deleted file mode 100644
index 6492f87..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Property.java
+++ /dev/null
@@ -1,24 +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.client.api.edm;
-
-public interface Property {
-
-  String getName();
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
index e79ea84..02b4c6e 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
@@ -18,6 +18,9 @@
  */
 package org.apache.olingo.odata4.client.api.edm;
 
-public interface PropertyRef {
+public interface PropertyRef extends Named {
 
+  String getAlias();
+
+  void setAlias(String alias);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
index 83abf79..ac19d11 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
@@ -37,9 +37,9 @@ public interface Schema {
 
   EnumType getEnumType(String name);
 
-  List<? extends Annotations> getAnnotationsList();
+  List<? extends AbstractAnnotations> getAnnotationsList();
 
-  Annotations getAnnotationsList(String target);
+  AbstractAnnotations getAnnotationsList(String target);
 
   List<? extends ComplexType> getComplexTypes();
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
index 893894c..30aa26a 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
@@ -16,9 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.odata4.client.api.edm.v3;
 
-public interface Annotations {
-  
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.AbstractAnnotations;
+
+public interface Annotations extends AbstractAnnotations {
+
+  List<? extends TypeAnnotation> getTypeAnnotations();
+
+  List<? extends ValueAnnotation> getValueAnnotations();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
index 598c268..0cb5b0e 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
@@ -18,6 +18,15 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
-public interface Association {
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.Named;
+
+public interface Association extends Named {
+
+  ReferentialConstraint getReferentialConstraint();
+
+  void setReferentialConstraint(ReferentialConstraint referentialConstraint);
+
+  List<? extends AssociationEnd> getEnds();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
index 486ce4b..8eb34e4 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
@@ -18,6 +18,23 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
+import org.apache.olingo.odata4.client.api.edm.OnDelete;
+
 public interface AssociationEnd {
 
+  String getType();
+
+  void setType(String type);
+
+  String getRole();
+
+  void setRole(String role);
+
+  String getMultiplicity();
+
+  void setMultiplicity(String multiplicity);
+
+  OnDelete getOnDelete();
+
+  void setOnDelete(OnDelete onDelete);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
index c186b4b..1915255 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
@@ -18,6 +18,14 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
-public interface AssociationSet {
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.Named;
 
+public interface AssociationSet extends Named {
+
+  String getAssociation();
+
+  void setAssociation(String association);
+
+  List<? extends AssociationSetEnd> getEnds();
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
index e5da2cf..a3cd430 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
@@ -20,4 +20,11 @@ package org.apache.olingo.odata4.client.api.edm.v3;
 
 public interface AssociationSetEnd {
 
+  String getRole();
+
+  void setRole(String role);
+
+  String getEntitySet();
+
+  void setEntitySet(String entitySet);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
new file mode 100644
index 0000000..359ba5b
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
@@ -0,0 +1,60 @@
+/*
+ * 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.client.api.edm.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.CommonParameter;
+
+public interface FunctionImport extends org.apache.olingo.odata4.client.api.edm.CommonFunctionImport {
+
+  String getReturnType();
+
+  void setReturnType(String returnType);
+
+  String getEntitySet();
+
+  void setEntitySet(String entitySet);
+
+  String getEntitySetPath();
+
+  void setEntitySetPath(String entitySetPath);
+
+  boolean isComposable();
+
+  void setComposable(boolean composable);
+
+  boolean isSideEffecting();
+
+  void setSideEffecting(boolean sideEffecting);
+
+  boolean isBindable();
+
+  void setBindable(boolean bindable);
+
+  boolean isAlwaysBindable();
+
+  void setAlwaysBindable(boolean alwaysBindable);
+
+  String getHttpMethod();
+
+  void setHttpMethod(String httpMethod);
+
+  List<? extends CommonParameter> getParameters();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
new file mode 100644
index 0000000..4b24887
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
@@ -0,0 +1,34 @@
+/*
+ * 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.client.api.edm.v3;
+
+public interface NavigationProperty extends org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty {
+
+  String getRelationship();
+
+  void setRelationship(String relationship);
+
+  String getToRole();
+
+  void setToRole(String toRole);
+
+  String getFromRole();
+
+  void setFromRole(String fromRole);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
new file mode 100644
index 0000000..0d45df0
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
@@ -0,0 +1,26 @@
+/*
+ * 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.client.api.edm.v3;
+
+public interface Parameter extends org.apache.olingo.odata4.client.api.edm.CommonParameter {
+
+  ParameterMode getMode();
+
+  void setMode(ParameterMode mode);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
new file mode 100644
index 0000000..042948f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
@@ -0,0 +1,50 @@
+/*
+ * 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.client.api.edm.v3;
+
+import org.apache.olingo.odata4.client.api.edm.CommonProperty;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
+
+public interface Property extends CommonProperty {
+
+  String getFcSourcePath();
+
+  void setFcSourcePath(String fcSourcePath);
+
+  String getFcTargetPath();
+
+  void setFcTargetPath(String fcTargetPath);
+
+  EdmContentKind getFcContentKind();
+
+  void setFcContentKind(EdmContentKind fcContentKind);
+
+  String getFcNSPrefix();
+
+  void setFcNSPrefix(String fcNSPrefix);
+
+  String getFcNSURI();
+
+  void setFcNSURI(String fcNSURI);
+
+  boolean isFcKeepInContent();
+
+  void setFcKeepInContent(boolean fcKeepInContent);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
index 7fc7ba2..cc29d03 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
@@ -18,6 +18,42 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
 public interface PropertyValue {
 
+  String getProperty();
+
+  void setProperty(String property);
+
+  String getPath();
+
+  void setPath(String path);
+
+  String getString();
+
+  void setString(String string);
+
+  BigInteger getInt();
+
+  void setInt(BigInteger _int);
+
+  Double getFloat();
+
+  void setFloat(Double _float);
+
+  BigDecimal getDecimal();
+
+  void setDecimal(BigDecimal decimal);
+
+  Boolean getBool();
+
+  void setBool(Boolean bool);
+
+  Date getDateTime();
+
+  void setDateTime(Date dateTime);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
index 146ea4f..fd2f8a9 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
@@ -20,4 +20,11 @@ package org.apache.olingo.odata4.client.api.edm.v3;
 
 public interface ReferentialConstraint {
 
+  ReferentialConstraintRole getPrincipal();
+
+  void setPrincipal(ReferentialConstraintRole principal);
+
+  ReferentialConstraintRole getDependent();
+
+  void setDependent(ReferentialConstraintRole dependent);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
new file mode 100644
index 0000000..0676086
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
@@ -0,0 +1,32 @@
+/*
+ * 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.client.api.edm.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.PropertyRef;
+
+public interface ReferentialConstraintRole {
+
+  String getRole();
+
+  void setRole(final String role);
+
+  List<? extends PropertyRef> getPropertyRefs();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
index c72b663..e6344da 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
@@ -18,6 +18,18 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
+import java.util.List;
+
 public interface TypeAnnotation {
 
+  String getTerm();
+
+  void setTerm(String term);
+
+  String getQualifier();
+
+  void setQualifier(String qualifier);
+
+  List<? extends PropertyValue> getPropertyValues();
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
index d4d965c..479f7fe 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
@@ -20,4 +20,12 @@ package org.apache.olingo.odata4.client.api.edm.v3;
 
 public interface Using {
 
+  String getNamespace();
+
+  void setNamespace(String namespace);
+
+  String getAlias();
+
+  void setAlias(String alias);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
index 42e1a1c..6068119 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
@@ -18,6 +18,46 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
 public interface ValueAnnotation {
 
+  Boolean getBool();
+
+  Date getDateTime();
+
+  BigDecimal getDecimal();
+
+  Double getFloat();
+
+  BigInteger getInt();
+
+  String getPath();
+
+  String getQualifier();
+
+  String getString();
+
+  String getTerm();
+
+  void setBool(Boolean bool);
+
+  void setDateTime(Date dateTime);
+
+  void setDecimal(BigDecimal decimal);
+
+  void setFloat(Double _float);
+
+  void setInt(BigInteger _int);
+
+  void setPath(String path);
+
+  void setQualifier(String qualifier);
+
+  void setString(String string);
+
+  void setTerm(String term);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
index 84cb65d..2c9e838 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
@@ -18,6 +18,11 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v3;
 
-public interface ValueTerm {
+import org.apache.olingo.odata4.client.api.edm.Named;
 
+public interface ValueTerm extends Named {
+
+  String getType();
+
+  void setType(String type);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
index d967ec1..c32cb00 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
@@ -18,6 +18,26 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v4;
 
-public interface Action {
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.Named;
+import org.apache.olingo.odata4.client.api.edm.CommonParameter;
+
+public interface Action extends Named {
+
+  boolean isBound();
+
+  void setBound(boolean bound);
+
+  String getEntitySetPath();
+
+  void setEntitySetPath(String entitySetPath);
+
+  List<? extends CommonParameter> getParameters();
+
+  CommonParameter getParameter(String name);
+
+  ReturnType getReturnType();
+
+  void setReturnType(ReturnType returnType);
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
index 23731f1..b1ebb52 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
@@ -18,6 +18,9 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v4;
 
-public interface ActionImport {
+public interface ActionImport extends OperationImport {
 
+  String getAction();
+
+  void setAction(String action);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
new file mode 100644
index 0000000..b123bb2
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
@@ -0,0 +1,26 @@
+/*
+ * 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.client.api.edm.v4;
+
+public interface AnnotatedEdmItem {
+
+  Annotation getAnnotation();
+
+  void setAnnotation(Annotation annotation);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
index b92b649..bc10f09 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
@@ -18,6 +18,12 @@
  */
 package org.apache.olingo.odata4.client.api.edm.v4;
 
-public interface Annotations {
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.AbstractAnnotations;
 
+public interface Annotations extends AbstractAnnotations {
+
+  List<? extends Annotation> getAnnotations();
+
+  Annotation getAnnotation(String term);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
new file mode 100644
index 0000000..5e2357b
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
@@ -0,0 +1,35 @@
+/*
+ * 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.client.api.edm.v4;
+
+public interface ComplexType extends org.apache.olingo.odata4.client.api.edm.ComplexType, AnnotatedEdmItem {
+
+  boolean isAbstractEntityType();
+
+  void setAbstractEntityType(boolean abstractEntityType);
+
+  String getBaseType();
+
+  void setBaseType(String baseType);
+
+  boolean isOpenType();
+
+  void setOpenType(boolean openType);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
new file mode 100644
index 0000000..24173ed
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
@@ -0,0 +1,26 @@
+/*
+ * 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.client.api.edm.v4;
+
+import java.util.List;
+
+public interface Edmx extends org.apache.olingo.odata4.client.api.edm.Edmx {
+
+  List<? extends Reference> getReferences();
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
new file mode 100644
index 0000000..21b676f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
@@ -0,0 +1,43 @@
+/*
+ * 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.client.api.edm.v4;
+
+import java.util.List;
+
+public interface EntityContainer extends org.apache.olingo.odata4.client.api.edm.EntityContainer {
+
+  /**
+   * Gets the first action import with given name.
+   *
+   * @param name name.
+   * @return action import.
+   */
+  ActionImport getActionImport(String name);
+
+  /**
+   * Gets all action imports with given name.
+   *
+   * @param name name.
+   * @return action imports.
+   */
+  List<? extends ActionImport> getActionImports(String name);
+
+  List<? extends ActionImport> getActionImports();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
new file mode 100644
index 0000000..703c0df
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
@@ -0,0 +1,30 @@
+/*
+ * 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.client.api.edm.v4;
+
+import java.util.List;
+
+public interface EntitySet extends org.apache.olingo.odata4.client.api.edm.EntitySet, AnnotatedEdmItem {
+
+  boolean isIncludeInServiceDocument();
+
+  void setIncludeInServiceDocument(boolean includeInServiceDocument);
+
+  List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
new file mode 100644
index 0000000..3e39e41
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
@@ -0,0 +1,23 @@
+/*
+ * 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.client.api.edm.v4;
+
+public interface EntityType extends org.apache.olingo.odata4.client.api.edm.EntityType, ComplexType {
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
new file mode 100644
index 0000000..bb9a817
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
@@ -0,0 +1,26 @@
+/*
+ * 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.client.api.edm.v4;
+
+public interface Function extends Action {
+
+  boolean isComposable();
+
+  void setComposable(boolean composable);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
new file mode 100644
index 0000000..118edcc
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
@@ -0,0 +1,32 @@
+/*
+ * 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.client.api.edm.v4;
+
+import org.apache.olingo.odata4.client.api.edm.CommonFunctionImport;
+
+public interface FunctionImport extends OperationImport, CommonFunctionImport {
+
+  String getFunction();
+
+  void setFunction(String function);
+
+  boolean isIncludeInServiceDocument();
+
+  void setIncludeInServiceDocument(boolean includeInServiceDocument);
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
index 7a777b9..1c3c1ce 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
@@ -20,4 +20,11 @@ package org.apache.olingo.odata4.client.api.edm.v4;
 
 public interface Include {
 
+  String getAlias();
+
+  String getNamespace();
+
+  void setAlias(final String alias);
+
+  void setNamespace(final String namespace);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
index 0458260..88ed162 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
@@ -20,4 +20,15 @@ package org.apache.olingo.odata4.client.api.edm.v4;
 
 public interface IncludeAnnotations {
 
+  String getQualifier();
+
+  String getTargeyNamespace();
+
+  String getTermNamespace();
+
+  void setQualifier(String qualifier);
+
+  void setTargeyNamespace(String targeyNamespace);
+
+  void setTermNamespace(String termNamespace);
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
new file mode 100644
index 0000000..9f34dc1
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
@@ -0,0 +1,49 @@
+/*
+ * 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.client.api.edm.v4;
+
+import org.apache.olingo.odata4.client.api.edm.OnDelete;
+import java.util.List;
+
+public interface NavigationProperty
+        extends org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty, AnnotatedEdmItem {
+
+  String getType();
+
+  void setType(String type);
+
+  boolean isNullable();
+
+  void setNullable(boolean nullable);
+
+  String getPartner();
+
+  void setPartner(String partner);
+
+  boolean isContainsTarget();
+
+  void setContainsTarget(boolean containsTarget);
+
+  List<? extends ReferentialConstraint> getReferentialConstraints();
+
+  OnDelete getOnDelete();
+
+  void setOnDelete(OnDelete onDelete);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
new file mode 100644
index 0000000..650cbd9
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
@@ -0,0 +1,31 @@
+/*
+ * 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.client.api.edm.v4;
+
+public interface NavigationPropertyBinding {
+
+  String getPath();
+
+  void setPath(String path);
+
+  String getTarget();
+
+  void setTarget(String target);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/df906e43/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDelete.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDelete.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDelete.java
deleted file mode 100644
index c1c10b2..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDelete.java
+++ /dev/null
@@ -1,26 +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.client.api.edm.v4;
-
-public interface OnDelete {
-
-  OnDeleteAction getAction();
-
-  void setAction(OnDeleteAction action);
-}


Mime
View raw message