You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/09/01 14:45:25 UTC
[23/31] olingo-odata4 git commit: [OLINGO-659] Removed v4 from
package and class names
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Advertisement.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Advertisement.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Advertisement.java
new file mode 100644
index 0000000..df7a8e0
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Advertisement.java
@@ -0,0 +1,123 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Advertisement",
+ openType = false,
+ hasStream = true,
+ isAbstract = false)
+public interface Advertisement
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<Advertisement>,
+ org.apache.olingo.ext.proxy.api.StructuredQuery<Advertisement> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Guid",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.util.UUID getID();
+
+ void setID(java.util.UUID _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AirDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getAirDate();
+
+ void setAirDate(java.sql.Timestamp _airDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "FeaturedProduct",
+ type = "ODataDemo.FeaturedProduct",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ FeaturedProduct getFeaturedProduct();
+
+ void setFeaturedProduct(FeaturedProduct _featuredProduct);
+
+ void uploadStream(org.apache.olingo.ext.proxy.api.EdmStreamValue stream);
+
+ org.apache.olingo.ext.proxy.api.EdmStreamValue loadStream();
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Guid")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "AirDate",
+ type = "Edm.DateTimeOffset")
+ org.apache.olingo.ext.proxy.api.Annotatable getAirDateAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "FeaturedProduct",
+ type = "ODataDemo.FeaturedProduct")
+ org.apache.olingo.ext.proxy.api.Annotatable getFeaturedProductAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollection.java
new file mode 100644
index 0000000..12daaeb
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface AdvertisementCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<AdvertisementCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Advertisement, AdvertisementCollection, AdvertisementCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollectionComposableInvoker.java
new file mode 100644
index 0000000..cba307e
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface AdvertisementCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<AdvertisementCollection, AdvertisementCollection.Operations> {
+
+ @Override
+ AdvertisementCollectionComposableInvoker select(String... select);
+
+ @Override
+ AdvertisementCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementComposableInvoker.java
new file mode 100644
index 0000000..7137eae
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/AdvertisementComposableInvoker.java
@@ -0,0 +1,96 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface AdvertisementComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Advertisement, Advertisement.Operations>
+{
+
+ @Override
+ AdvertisementComposableInvoker select(String... select);
+
+ @Override
+ AdvertisementComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Guid",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.util.UUID getID();
+
+ void setID(java.util.UUID _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AirDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getAirDate();
+
+ void setAirDate(java.sql.Timestamp _airDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "FeaturedProduct",
+ type = "ODataDemo.FeaturedProduct",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ FeaturedProduct getFeaturedProduct();
+
+ void setFeaturedProduct(FeaturedProduct _featuredProduct);
+
+ void uploadStream(org.apache.olingo.ext.proxy.api.EdmStreamValue stream);
+
+ org.apache.olingo.ext.proxy.api.EdmStreamValue loadStream();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Category.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Category.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Category.java
new file mode 100644
index 0000000..4283f83
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Category.java
@@ -0,0 +1,100 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Category",
+ openType = true,
+ hasStream = false,
+ isAbstract = false)
+public interface Category
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<Category>, org.apache.olingo.ext.proxy.api.StructuredQuery<Category>,
+ AbstractOpenType {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Products",
+ type = "ODataDemo.Product",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ ProductCollection getProducts();
+
+ void setProducts(ProductCollection _products);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Products",
+ type = "ODataDemo.Product")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductsAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollection.java
new file mode 100644
index 0000000..0c93867
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface CategoryCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<CategoryCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Category, CategoryCollection, CategoryCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollectionComposableInvoker.java
new file mode 100644
index 0000000..d5680f8
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface CategoryCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<CategoryCollection, CategoryCollection.Operations> {
+
+ @Override
+ CategoryCollectionComposableInvoker select(String... select);
+
+ @Override
+ CategoryCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryComposableInvoker.java
new file mode 100644
index 0000000..4964587
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CategoryComposableInvoker.java
@@ -0,0 +1,78 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+public interface CategoryComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Category, Category.Operations>
+ , AbstractOpenType {
+
+ @Override
+ CategoryComposableInvoker select(String... select);
+
+ @Override
+ CategoryComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Products",
+ type = "ODataDemo.Product",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ ProductCollection getProducts();
+
+ void setProducts(ProductCollection _products);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Customer.java
new file mode 100644
index 0000000..405ce0a
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Customer.java
@@ -0,0 +1,146 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.concurrent.Future;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Customer",
+ openType = false,
+ hasStream = false,
+ isAbstract = false,
+ baseType = "ODataDemo.Person")
+public interface Customer
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ Person {
+
+ @Override
+ Customer load();
+
+ @Override
+ Future<? extends Customer> loadAsync();
+
+ @Override
+ Customer refs();
+
+ @Override
+ Customer expand(String... expand);
+
+ @Override
+ Customer select(String... select);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ @Override
+ java.lang.Integer getID();
+
+ @Override
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ @Override
+ java.lang.String getName();
+
+ @Override
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "TotalExpense",
+ type = "Edm.Decimal",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.math.BigDecimal getTotalExpense();
+
+ void setTotalExpense(java.math.BigDecimal _totalExpense);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ @Override
+ void setPersonDetail(PersonDetail _personDetail);
+
+ @Override
+ Operations operations();
+
+ interface Operations extends Person.Operations {
+ // No additional methods needed for now.
+ }
+
+ @Override
+ Annotations annotations();
+
+ interface Annotations extends Person.Annotations {
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "TotalExpense",
+ type = "Edm.Decimal")
+ org.apache.olingo.ext.proxy.api.Annotatable getTotalExpenseAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonDetailAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollection.java
new file mode 100644
index 0000000..6ce29da
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface CustomerCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<CustomerCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Customer, CustomerCollection, CustomerCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollectionComposableInvoker.java
new file mode 100644
index 0000000..537ee8a
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface CustomerCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<CustomerCollection, CustomerCollection.Operations> {
+
+ @Override
+ CustomerCollectionComposableInvoker select(String... select);
+
+ @Override
+ CustomerCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerComposableInvoker.java
new file mode 100644
index 0000000..4e6e7e2
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/CustomerComposableInvoker.java
@@ -0,0 +1,92 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface CustomerComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Customer, Customer.Operations>
+{
+
+ @Override
+ CustomerComposableInvoker select(String... select);
+
+ @Override
+ CustomerComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "TotalExpense",
+ type = "Edm.Decimal",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.math.BigDecimal getTotalExpense();
+
+ void setTotalExpense(java.math.BigDecimal _totalExpense);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ void setPersonDetail(PersonDetail _personDetail);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Employee.java
new file mode 100644
index 0000000..4b55f53
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Employee.java
@@ -0,0 +1,184 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.concurrent.Future;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Employee",
+ openType = false,
+ hasStream = false,
+ isAbstract = false,
+ baseType = "ODataDemo.Person")
+public interface Employee
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ Person {
+
+ @Override
+ Employee load();
+
+ @Override
+ Future<? extends Employee> loadAsync();
+
+ @Override
+ Employee refs();
+
+ @Override
+ Employee expand(String... expand);
+
+ @Override
+ Employee select(String... select);
+
+ @Override
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ @Override
+ void setID(java.lang.Integer _iD);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ @Override
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "EmployeeID",
+ type = "Edm.Int64",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Long getEmployeeID();
+
+ void setEmployeeID(java.lang.Long _employeeID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "HireDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getHireDate();
+
+ void setHireDate(java.sql.Timestamp _hireDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Salary",
+ type = "Edm.Single",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Float getSalary();
+
+ void setSalary(java.lang.Float _salary);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ @Override
+ void setPersonDetail(PersonDetail _personDetail);
+
+ @Override
+ Operations operations();
+
+ interface Operations extends Person.Operations {
+ // No additional methods needed for now.
+ }
+
+ @Override
+ Annotations annotations();
+
+ interface Annotations extends Person.Annotations {
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "EmployeeID",
+ type = "Edm.Int64")
+ org.apache.olingo.ext.proxy.api.Annotatable getEmployeeIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "HireDate",
+ type = "Edm.DateTimeOffset")
+ org.apache.olingo.ext.proxy.api.Annotatable getHireDateAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Salary",
+ type = "Edm.Single")
+ org.apache.olingo.ext.proxy.api.Annotatable getSalaryAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonDetailAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollection.java
new file mode 100644
index 0000000..c3d8c0d
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface EmployeeCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<EmployeeCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Employee, EmployeeCollection, EmployeeCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollectionComposableInvoker.java
new file mode 100644
index 0000000..d491887
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface EmployeeCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<EmployeeCollection, EmployeeCollection.Operations> {
+
+ @Override
+ EmployeeCollectionComposableInvoker select(String... select);
+
+ @Override
+ EmployeeCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeComposableInvoker.java
new file mode 100644
index 0000000..64639cd
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/EmployeeComposableInvoker.java
@@ -0,0 +1,122 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface EmployeeComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Employee, Employee.Operations>
+{
+
+ @Override
+ EmployeeComposableInvoker select(String... select);
+
+ @Override
+ EmployeeComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "EmployeeID",
+ type = "Edm.Int64",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Long getEmployeeID();
+
+ void setEmployeeID(java.lang.Long _employeeID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "HireDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getHireDate();
+
+ void setHireDate(java.sql.Timestamp _hireDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Salary",
+ type = "Edm.Single",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Float getSalary();
+
+ void setSalary(java.lang.Float _salary);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ void setPersonDetail(PersonDetail _personDetail);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProduct.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProduct.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProduct.java
new file mode 100644
index 0000000..0d09511
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProduct.java
@@ -0,0 +1,285 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.concurrent.Future;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "FeaturedProduct",
+ openType = false,
+ hasStream = false,
+ isAbstract = false,
+ baseType = "ODataDemo.Product")
+public interface FeaturedProduct
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ Product {
+
+ @Override
+ FeaturedProduct load();
+
+ @Override
+ Future<? extends FeaturedProduct> loadAsync();
+
+ @Override
+ FeaturedProduct refs();
+
+ @Override
+ FeaturedProduct expand(String... expand);
+
+ @Override
+ FeaturedProduct select(String... select);
+
+ @Override
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ @Override
+ void setID(java.lang.Integer _iD);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ @Override
+ void setName(java.lang.String _name);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getDescription();
+
+ @Override
+ void setDescription(java.lang.String _description);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ReleaseDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getReleaseDate();
+
+ @Override
+ void setReleaseDate(java.sql.Timestamp _releaseDate);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedDate",
+ type = "Edm.DateTimeOffset",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getDiscontinuedDate();
+
+ @Override
+ void setDiscontinuedDate(java.sql.Timestamp _discontinuedDate);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Rating",
+ type = "Edm.Int16",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Short getRating();
+
+ @Override
+ void setRating(java.lang.Short _rating);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Price",
+ type = "Edm.Double",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Double getPrice();
+
+ @Override
+ void setPrice(java.lang.Double _price);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Categories",
+ type = "ODataDemo.Category",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Categories",
+ containsTarget = false)
+ CategoryCollection getCategories();
+
+ @Override
+ void setCategories(CategoryCollection _categories);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Supplier",
+ type = "ODataDemo.Supplier",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Suppliers",
+ containsTarget = false)
+ Supplier getSupplier();
+
+ @Override
+ void setSupplier(Supplier _supplier);
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "ProductDetail",
+ type = "ODataDemo.ProductDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "ProductDetails",
+ containsTarget = false)
+ ProductDetail getProductDetail();
+
+ @Override
+ void setProductDetail(ProductDetail _productDetail);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Advertisement",
+ type = "ODataDemo.Advertisement",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Advertisements",
+ containsTarget = false)
+ Advertisement getAdvertisement();
+
+ void setAdvertisement(Advertisement _advertisement);
+
+ @Override
+ Operations operations();
+
+ interface Operations extends Product.Operations {
+ // No additional methods needed for now.
+ }
+
+ @Override
+ Annotations annotations();
+
+ interface Annotations extends Product.Annotations {
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Description",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getDescriptionAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ReleaseDate",
+ type = "Edm.DateTimeOffset")
+ org.apache.olingo.ext.proxy.api.Annotatable getReleaseDateAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "DiscontinuedDate",
+ type = "Edm.DateTimeOffset")
+ org.apache.olingo.ext.proxy.api.Annotatable getDiscontinuedDateAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Rating",
+ type = "Edm.Int16")
+ org.apache.olingo.ext.proxy.api.Annotatable getRatingAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Price",
+ type = "Edm.Double")
+ org.apache.olingo.ext.proxy.api.Annotatable getPriceAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Categories",
+ type = "ODataDemo.Category")
+ org.apache.olingo.ext.proxy.api.Annotatable getCategoriesAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Supplier",
+ type = "ODataDemo.Supplier")
+ org.apache.olingo.ext.proxy.api.Annotatable getSupplierAnnotations();
+
+ @Override
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "ProductDetail",
+ type = "ODataDemo.ProductDetail")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductDetailAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Advertisement",
+ type = "ODataDemo.Advertisement")
+ org.apache.olingo.ext.proxy.api.Annotatable getAdvertisementAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollection.java
new file mode 100644
index 0000000..ed87bc8
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface FeaturedProductCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<FeaturedProductCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<FeaturedProduct, FeaturedProductCollection, FeaturedProductCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollectionComposableInvoker.java
new file mode 100644
index 0000000..d2dd740
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface FeaturedProductCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<FeaturedProductCollection, FeaturedProductCollection.Operations> {
+
+ @Override
+ FeaturedProductCollectionComposableInvoker select(String... select);
+
+ @Override
+ FeaturedProductCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductComposableInvoker.java
new file mode 100644
index 0000000..8719896
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/FeaturedProductComposableInvoker.java
@@ -0,0 +1,182 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface FeaturedProductComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<FeaturedProduct, FeaturedProduct.Operations>
+{
+
+ @Override
+ FeaturedProductComposableInvoker select(String... select);
+
+ @Override
+ FeaturedProductComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getDescription();
+
+ void setDescription(java.lang.String _description);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ReleaseDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getReleaseDate();
+
+ void setReleaseDate(java.sql.Timestamp _releaseDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedDate",
+ type = "Edm.DateTimeOffset",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getDiscontinuedDate();
+
+ void setDiscontinuedDate(java.sql.Timestamp _discontinuedDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Rating",
+ type = "Edm.Int16",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Short getRating();
+
+ void setRating(java.lang.Short _rating);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Price",
+ type = "Edm.Double",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Double getPrice();
+
+ void setPrice(java.lang.Double _price);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Categories",
+ type = "ODataDemo.Category",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Categories",
+ containsTarget = false)
+ CategoryCollection getCategories();
+
+ void setCategories(CategoryCollection _categories);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Supplier",
+ type = "ODataDemo.Supplier",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Suppliers",
+ containsTarget = false)
+ Supplier getSupplier();
+
+ void setSupplier(Supplier _supplier);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "ProductDetail",
+ type = "ODataDemo.ProductDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "ProductDetails",
+ containsTarget = false)
+ ProductDetail getProductDetail();
+
+ void setProductDetail(ProductDetail _productDetail);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Advertisement",
+ type = "ODataDemo.Advertisement",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Advertisements",
+ containsTarget = false)
+ Advertisement getAdvertisement();
+
+ void setAdvertisement(Advertisement _advertisement);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Person.java
new file mode 100644
index 0000000..006bae7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/Person.java
@@ -0,0 +1,99 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Person",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface Person
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<Person>, org.apache.olingo.ext.proxy.api.StructuredQuery<Person> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ void setPersonDetail(PersonDetail _personDetail);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonDetailAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollection.java
new file mode 100644
index 0000000..87300ec
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface PersonCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<PersonCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Person, PersonCollection, PersonCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollectionComposableInvoker.java
new file mode 100644
index 0000000..febb164
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonCollectionComposableInvoker.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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface PersonCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<PersonCollection, PersonCollection.Operations> {
+
+ @Override
+ PersonCollectionComposableInvoker select(String... select);
+
+ @Override
+ PersonCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonComposableInvoker.java
new file mode 100644
index 0000000..2461c09
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonComposableInvoker.java
@@ -0,0 +1,77 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface PersonComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Person, Person.Operations>
+{
+
+ @Override
+ PersonComposableInvoker select(String... select);
+
+ @Override
+ PersonComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getID();
+
+ void setID(java.lang.Integer _iD);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonDetail",
+ type = "ODataDemo.PersonDetail",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "PersonDetails",
+ containsTarget = false)
+ PersonDetail getPersonDetail();
+
+ void setPersonDetail(PersonDetail _personDetail);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/78a9539e/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonDetail.java
new file mode 100644
index 0000000..6dca287
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/demo/odatademo/types/PersonDetail.java
@@ -0,0 +1,176 @@
+/*
+ * 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.fit.proxy.demo.odatademo.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("ODataDemo")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "PersonDetail",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface PersonDetail
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<PersonDetail>,
+ org.apache.olingo.ext.proxy.api.StructuredQuery<PersonDetail> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getPersonID();
+
+ void setPersonID(java.lang.Integer _personID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Age",
+ type = "Edm.Byte",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Short getAge();
+
+ void setAge(java.lang.Short _age);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Gender",
+ type = "Edm.Boolean",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Boolean getGender();
+
+ void setGender(java.lang.Boolean _gender);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Phone",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getPhone();
+
+ void setPhone(java.lang.String _phone);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Address",
+ type = "ODataDemo.Address",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ Address getAddress();
+
+ void setAddress(Address _address);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Photo",
+ type = "Edm.Stream",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.EdmStreamValue getPhoto();
+
+ void setPhoto(org.apache.olingo.ext.proxy.api.EdmStreamValue _photo);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Person",
+ type = "ODataDemo.Person",
+ targetSchema = "ODataDemo",
+ targetContainer = "DemoService",
+ targetEntitySet = "Persons",
+ containsTarget = false)
+ Person getPerson();
+
+ void setPerson(Person _person);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PersonID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Age",
+ type = "Edm.Byte")
+ org.apache.olingo.ext.proxy.api.Annotatable getAgeAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Gender",
+ type = "Edm.Boolean")
+ org.apache.olingo.ext.proxy.api.Annotatable getGenderAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Phone",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getPhoneAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Address",
+ type = "ODataDemo.Address")
+ org.apache.olingo.ext.proxy.api.Annotatable getAddressAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Photo",
+ type = "Edm.Stream")
+ org.apache.olingo.ext.proxy.api.Annotatable getPhotoAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Person",
+ type = "ODataDemo.Person")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonAnnotations();
+ }
+
+}