You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/04/01 11:00:20 UTC
[08/52] [abbrv] Consistently using package name to differentiate V3
and V4
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
new file mode 100644
index 0000000..12d5b24
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
@@ -0,0 +1,25 @@
+/*
+ * 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.client.api.communication.request.invoke.v3;
+
+import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
+import org.apache.olingo.client.api.edm.xml.v3.FunctionImport;
+
+public interface InvokeRequestFactory extends CommonInvokeRequestFactory<FunctionImport> {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
new file mode 100644
index 0000000..c2f194d
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
@@ -0,0 +1,25 @@
+/*
+ * 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.client.api.communication.request.invoke.v4;
+
+import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
+import org.apache.olingo.client.api.edm.xml.v4.FunctionImport;
+
+public interface InvokeRequestFactory extends CommonInvokeRequestFactory<FunctionImport> {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
new file mode 100644
index 0000000..89777da
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
@@ -0,0 +1,105 @@
+/*
+ * 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.client.api.communication.request.retrieve;
+
+import java.io.Serializable;
+import java.net.URI;
+
+/**
+ * OData request factory class.
+ */
+public interface CommonRetrieveRequestFactory extends Serializable {
+
+ /**
+ * Gets a service document request instance.
+ *
+ * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
+ * service.
+ * @return new ODataServiceDocumentRequest instance.
+ */
+ ODataServiceDocumentRequest getServiceDocumentRequest(String serviceRoot);
+
+ /**
+ * Gets a metadata request instance.
+ *
+ * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
+ * service.
+ * @return new ODataMetadataRequest instance.
+ */
+ ODataMetadataRequest getMetadataRequest(String serviceRoot);
+
+ /**
+ * Gets a query request returning a set of one or more OData entities.
+ *
+ * @param query query to be performed.
+ * @return new ODataEntitySetRequest instance.
+ */
+ ODataEntitySetRequest getEntitySetRequest(URI query);
+
+ /**
+ * Gets a query request returning a set of one or more OData entities.
+ * <br/>
+ * Returned request gives the possibility to consume entities iterating on them without parsing and loading in memory
+ * the entire entity set.
+ *
+ * @param query query to be performed.
+ * @return new ODataEntitySetIteratorRequest instance.
+ */
+ ODataEntitySetIteratorRequest getEntitySetIteratorRequest(URI query);
+
+ /**
+ * Gets a query request returning a single OData entity.
+ *
+ * @param query query to be performed.
+ * @return new ODataEntityRequest instance.
+ */
+ ODataEntityRequest getEntityRequest(URI query);
+
+ /**
+ * Gets a query request returning a single OData entity property.
+ *
+ * @param query query to be performed.
+ * @return new ODataPropertyRequest instance.
+ */
+ ODataPropertyRequest getPropertyRequest(URI query);
+
+ /**
+ * Gets a query request returning a single OData entity property value.
+ *
+ * @param query query to be performed.
+ * @return new ODataValueRequest instance.
+ */
+ ODataValueRequest getValueRequest(URI query);
+
+ /**
+ * Gets a query request returning a media stream.
+ *
+ * @param query query to be performed.
+ * @return new ODataMediaRequest instance.
+ */
+ ODataMediaRequest getMediaRequest(URI query);
+
+ /**
+ * Implements a raw request request without specifying any return type.
+ *
+ * @param uri query to be performed.
+ * @return new ODataRawRequest instance.
+ */
+ ODataRawRequest getRawRequest(URI uri);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataLinkCollectionRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataLinkCollectionRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataLinkCollectionRequest.java
deleted file mode 100644
index 080f92a..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/ODataLinkCollectionRequest.java
+++ /dev/null
@@ -1,28 +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.client.api.communication.request.retrieve;
-
-import org.apache.olingo.client.api.domain.ODataLinkCollection;
-import org.apache.olingo.client.api.format.ODataFormat;
-
-/**
- * This class implements an OData link query request.
- */
-public interface ODataLinkCollectionRequest extends ODataRetrieveRequest<ODataLinkCollection, ODataFormat> {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
deleted file mode 100644
index 79b6459..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
+++ /dev/null
@@ -1,105 +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.client.api.communication.request.retrieve;
-
-import java.io.Serializable;
-import java.net.URI;
-
-/**
- * OData request factory class.
- */
-public interface RetrieveRequestFactory extends Serializable {
-
- /**
- * Gets a service document request instance.
- *
- * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
- * service.
- * @return new ODataServiceDocumentRequest instance.
- */
- ODataServiceDocumentRequest getServiceDocumentRequest(String serviceRoot);
-
- /**
- * Gets a metadata request instance.
- *
- * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
- * service.
- * @return new ODataMetadataRequest instance.
- */
- ODataMetadataRequest getMetadataRequest(String serviceRoot);
-
- /**
- * Gets a query request returning a set of one or more OData entities.
- *
- * @param query query to be performed.
- * @return new ODataEntitySetRequest instance.
- */
- ODataEntitySetRequest getEntitySetRequest(URI query);
-
- /**
- * Gets a query request returning a set of one or more OData entities.
- * <br/>
- * Returned request gives the possibility to consume entities iterating on them without parsing and loading in memory
- * the entire entity set.
- *
- * @param query query to be performed.
- * @return new ODataEntitySetIteratorRequest instance.
- */
- ODataEntitySetIteratorRequest getEntitySetIteratorRequest(URI query);
-
- /**
- * Gets a query request returning a single OData entity.
- *
- * @param query query to be performed.
- * @return new ODataEntityRequest instance.
- */
- ODataEntityRequest getEntityRequest(URI query);
-
- /**
- * Gets a query request returning a single OData entity property.
- *
- * @param query query to be performed.
- * @return new ODataPropertyRequest instance.
- */
- ODataPropertyRequest getPropertyRequest(URI query);
-
- /**
- * Gets a query request returning a single OData entity property value.
- *
- * @param query query to be performed.
- * @return new ODataValueRequest instance.
- */
- ODataValueRequest getValueRequest(URI query);
-
- /**
- * Gets a query request returning a media stream.
- *
- * @param query query to be performed.
- * @return new ODataMediaRequest instance.
- */
- ODataMediaRequest getMediaRequest(URI query);
-
- /**
- * Implements a raw request request without specifying any return type.
- *
- * @param uri query to be performed.
- * @return new ODataRawRequest instance.
- */
- ODataRawRequest getRawRequest(URI uri);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V3RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V3RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V3RetrieveRequestFactory.java
deleted file mode 100644
index 5089073..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V3RetrieveRequestFactory.java
+++ /dev/null
@@ -1,33 +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.client.api.communication.request.retrieve;
-
-import java.net.URI;
-
-public interface V3RetrieveRequestFactory extends RetrieveRequestFactory {
-
- /**
- * Gets a query request returning a single OData link.
- *
- * @param targetURI target URI.
- * @param linkName link name.
- * @return new ODataLinkRequest instance.
- */
- ODataLinkCollectionRequest getLinkCollectionRequest(URI targetURI, String linkName);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V4RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V4RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V4RetrieveRequestFactory.java
deleted file mode 100644
index 272ed86..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/V4RetrieveRequestFactory.java
+++ /dev/null
@@ -1,22 +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.client.api.communication.request.retrieve;
-
-public interface V4RetrieveRequestFactory extends RetrieveRequestFactory {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
new file mode 100644
index 0000000..7cfba7b
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/ODataLinkCollectionRequest.java
@@ -0,0 +1,29 @@
+/*
+ * 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.client.api.communication.request.retrieve.v3;
+
+import org.apache.olingo.client.api.communication.request.retrieve.ODataRetrieveRequest;
+import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
+import org.apache.olingo.client.api.format.ODataFormat;
+
+/**
+ * This class implements an OData link query request.
+ */
+public interface ODataLinkCollectionRequest extends ODataRetrieveRequest<ODataLinkCollection, ODataFormat> {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.java
new file mode 100644
index 0000000..a0d667a
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v3/RetrieveRequestFactory.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.client.api.communication.request.retrieve.v3;
+
+import java.net.URI;
+import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
+
+public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
+
+ /**
+ * Gets a query request returning a single OData link.
+ *
+ * @param targetURI target URI.
+ * @param linkName link name.
+ * @return new ODataLinkRequest instance.
+ */
+ ODataLinkCollectionRequest getLinkCollectionRequest(URI targetURI, String linkName);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
new file mode 100644
index 0000000..55005cd
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/v4/RetrieveRequestFactory.java
@@ -0,0 +1,24 @@
+/*
+ * 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.client.api.communication.request.retrieve.v4;
+
+import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
+
+public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/CommonStreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/CommonStreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/CommonStreamedRequestFactory.java
new file mode 100644
index 0000000..1518fe8
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/CommonStreamedRequestFactory.java
@@ -0,0 +1,62 @@
+/*
+ * 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.client.api.communication.request.streamed;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import java.net.URI;
+
+/**
+ * OData request factory class.
+ */
+public interface CommonStreamedRequestFactory extends Serializable {
+
+ /**
+ * Gets a media entity create request object instance.
+ * <br/>
+ * Use this kind of request to create a new media entity.
+ *
+ * @param targetURI entity set URI.
+ * @param media entity blob to be created.
+ * @return new ODataMediaEntityCreateRequest instance.
+ */
+ ODataMediaEntityCreateRequest getMediaEntityCreateRequest(URI targetURI, InputStream media);
+
+ /**
+ * Gets a stream update request object instance.
+ * <br/>
+ * Use this kind of request to update a named stream property.
+ *
+ * @param targetURI target URI.
+ * @param stream stream to be updated.
+ * @return new ODataStreamUpdateRequest instance.
+ */
+ ODataStreamUpdateRequest getStreamUpdateRequest(URI targetURI, InputStream stream);
+
+ /**
+ * Gets a media entity update request object instance.
+ * <br/>
+ * Use this kind of request to update a media entity.
+ *
+ * @param editURI media entity edit link URI.
+ * @param media entity blob to be updated.
+ * @return new ODataMediaEntityUpdateRequest instance.
+ */
+ ODataMediaEntityUpdateRequest getMediaEntityUpdateRequest(URI editURI, InputStream media);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/StreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/StreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/StreamedRequestFactory.java
deleted file mode 100644
index 04ac27c..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/StreamedRequestFactory.java
+++ /dev/null
@@ -1,62 +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.client.api.communication.request.streamed;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URI;
-
-/**
- * OData request factory class.
- */
-public interface StreamedRequestFactory extends Serializable {
-
- /**
- * Gets a media entity create request object instance.
- * <br/>
- * Use this kind of request to create a new media entity.
- *
- * @param targetURI entity set URI.
- * @param media entity blob to be created.
- * @return new ODataMediaEntityCreateRequest instance.
- */
- ODataMediaEntityCreateRequest getMediaEntityCreateRequest(URI targetURI, InputStream media);
-
- /**
- * Gets a stream update request object instance.
- * <br/>
- * Use this kind of request to update a named stream property.
- *
- * @param targetURI target URI.
- * @param stream stream to be updated.
- * @return new ODataStreamUpdateRequest instance.
- */
- ODataStreamUpdateRequest getStreamUpdateRequest(URI targetURI, InputStream stream);
-
- /**
- * Gets a media entity update request object instance.
- * <br/>
- * Use this kind of request to update a media entity.
- *
- * @param editURI media entity edit link URI.
- * @param media entity blob to be updated.
- * @return new ODataMediaEntityUpdateRequest instance.
- */
- ODataMediaEntityUpdateRequest getMediaEntityUpdateRequest(URI editURI, InputStream media);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V3StreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V3StreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V3StreamedRequestFactory.java
deleted file mode 100644
index fd6a99c..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V3StreamedRequestFactory.java
+++ /dev/null
@@ -1,22 +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.client.api.communication.request.streamed;
-
-public interface V3StreamedRequestFactory extends StreamedRequestFactory {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V4StreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V4StreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V4StreamedRequestFactory.java
deleted file mode 100644
index b8f28ac..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/V4StreamedRequestFactory.java
+++ /dev/null
@@ -1,22 +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.client.api.communication.request.streamed;
-
-public interface V4StreamedRequestFactory extends StreamedRequestFactory {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v3/StreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v3/StreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v3/StreamedRequestFactory.java
new file mode 100644
index 0000000..db3ff84
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v3/StreamedRequestFactory.java
@@ -0,0 +1,24 @@
+/*
+ * 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.client.api.communication.request.streamed.v3;
+
+import org.apache.olingo.client.api.communication.request.streamed.CommonStreamedRequestFactory;
+
+public interface StreamedRequestFactory extends CommonStreamedRequestFactory {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v4/StreamedRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v4/StreamedRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v4/StreamedRequestFactory.java
new file mode 100644
index 0000000..7319e33
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/streamed/v4/StreamedRequestFactory.java
@@ -0,0 +1,24 @@
+/*
+ * 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.client.api.communication.request.streamed.v4;
+
+import org.apache.olingo.client.api.communication.request.streamed.CommonStreamedRequestFactory;
+
+public interface StreamedRequestFactory extends CommonStreamedRequestFactory {
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/data/LinkCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/data/LinkCollection.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/data/LinkCollection.java
deleted file mode 100644
index 36c9c16..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/data/LinkCollection.java
+++ /dev/null
@@ -1,52 +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.client.api.data;
-
-import java.net.URI;
-import java.util.List;
-
-/**
- * REST resource for an <tt>ODataLinkCollection</tt>.
- *
- * @see org.apache.olingo.client.api.domain.ODataLinkCollection
- */
-public interface LinkCollection {
-
- /**
- * Smart management of different JSON format produced by OData services when
- * <tt>$links</tt> is a single or a collection property.
- *
- * @return list of URIs for <tt>$links</tt>
- */
- List<URI> getLinks();
-
- /**
- * Sets next link.
- *
- * @param next next link.
- */
- void setNext(final URI next);
-
- /**
- * Gets next link if exists.
- *
- * @return next link if exists; null otherwise.
- */
- URI getNext();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/data/v3/LinkCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/data/v3/LinkCollection.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/data/v3/LinkCollection.java
new file mode 100644
index 0000000..dfcaa35
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/data/v3/LinkCollection.java
@@ -0,0 +1,52 @@
+/*
+ * 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.client.api.data.v3;
+
+import java.net.URI;
+import java.util.List;
+
+/**
+ * REST resource for an <tt>ODataLinkCollection</tt>.
+ *
+ * @see org.apache.olingo.client.api.domain.ODataLinkCollection
+ */
+public interface LinkCollection {
+
+ /**
+ * Smart management of different JSON format produced by OData services when
+ * <tt>$links</tt> is a single or a collection property.
+ *
+ * @return list of URIs for <tt>$links</tt>
+ */
+ List<URI> getLinks();
+
+ /**
+ * Sets next link.
+ *
+ * @param next next link.
+ */
+ void setNext(final URI next);
+
+ /**
+ * Gets next link if exists.
+ *
+ * @return next link if exists; null otherwise.
+ */
+ URI getNext();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
index 8c10c10..26ef195 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataEntitySetIterator.java
@@ -28,7 +28,7 @@ import java.util.Iterator;
import java.util.NoSuchElementException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.client.api.ODataClient;
+import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.Constants;
import org.apache.olingo.client.api.data.Entry;
import org.apache.olingo.client.api.format.ODataPubFormat;
@@ -49,7 +49,7 @@ public class ODataEntitySetIterator implements Iterator<ODataEntity> {
private static final long serialVersionUID = 9039605899821494025L;
- private final ODataClient odataClient;
+ private final CommonODataClient odataClient;
private final InputStream stream;
@@ -72,7 +72,9 @@ public class ODataEntitySetIterator implements Iterator<ODataEntity> {
* @param stream source stream.
* @param format OData format.
*/
- public ODataEntitySetIterator(final ODataClient odataClient, final InputStream stream, final ODataPubFormat format) {
+ public ODataEntitySetIterator(final CommonODataClient odataClient, final InputStream stream,
+ final ODataPubFormat format) {
+
this.odataClient = odataClient;
this.stream = stream;
this.format = format;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
index 47db41c..93c4cfb 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataGeospatialValue.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.domain;
-import org.apache.olingo.client.api.ODataClient;
+import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.client.api.domain.geospatial.Geospatial;
public class ODataGeospatialValue extends ODataPrimitiveValue {
@@ -35,7 +35,7 @@ public class ODataGeospatialValue extends ODataPrimitiveValue {
/**
* Constructor.
*/
- public Builder(final ODataClient client) {
+ public Builder(final CommonODataClient client) {
super(client);
this.ogv = new ODataGeospatialValue(client);
}
@@ -98,7 +98,7 @@ public class ODataGeospatialValue extends ODataPrimitiveValue {
*
* @see Builder
*/
- protected ODataGeospatialValue(final ODataClient client) {
+ protected ODataGeospatialValue(final CommonODataClient client) {
super(client);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkCollection.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkCollection.java
deleted file mode 100644
index bf75495..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataLinkCollection.java
+++ /dev/null
@@ -1,100 +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.client.api.domain;
-
-import java.net.URI;
-import java.util.List;
-
-/**
- * Link collection wrapper.
- */
-public class ODataLinkCollection {
-
- /**
- * Link to the next page.
- */
- private URI next;
-
- /**
- * Contained links.
- */
- private List<URI> links;
-
- /**
- * Constructor.
- */
- public ODataLinkCollection() {
- }
-
- /**
- * Adds link to the collection.
- *
- * @param link link to be added.
- * @return 'TRUE' in case of success; 'FALSE' otherwise.
- */
- public boolean addLink(final URI link) {
- return links.add(link);
- }
-
- /**
- * Removes a link.
- *
- * @param link link to be removed.
- * @return 'TRUE' in case of success; 'FALSE' otherwise.
- */
- public boolean removeLink(final URI link) {
- return links.remove(link);
- }
-
- /**
- * Set links.
- *
- * @param links links.
- */
- public void setLinks(final List<URI> links) {
- this.links = links;
- }
-
- /**
- * Gets contained links.
- *
- * @return list of links.
- */
- public List<URI> getLinks() {
- return links;
- }
-
- /**
- * Constructor.
- *
- * @param next next page link.
- */
- public ODataLinkCollection(final URI next) {
- this.next = next;
- }
-
- /**
- * Gets next page link.
- *
- * @return next page link; null value if single page or last page reached.
- */
- public URI getNext() {
- return next;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
index 9181695..df69d1f 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ODataPrimitiveValue.java
@@ -30,7 +30,7 @@ import javax.xml.datatype.Duration;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.client.api.ODataClient;
+import org.apache.olingo.client.api.CommonODataClient;
/**
* OData primitive property value.
@@ -41,12 +41,12 @@ public class ODataPrimitiveValue extends ODataValue {
protected abstract static class AbstractBuilder {
- private final ODataClient client;
+ private final CommonODataClient client;
/**
* Constructor.
*/
- public AbstractBuilder(final ODataClient client) {
+ public AbstractBuilder(final CommonODataClient client) {
this.client = client;
}
@@ -70,7 +70,7 @@ public class ODataPrimitiveValue extends ODataValue {
/**
* Constructor.
*/
- public Builder(final ODataClient client) {
+ public Builder(final CommonODataClient client) {
super(client);
this.opv = new ODataPrimitiveValue(client);
}
@@ -162,7 +162,7 @@ public class ODataPrimitiveValue extends ODataValue {
}
}
- protected ODataClient client;
+ protected CommonODataClient client;
/**
* Text value.
@@ -184,7 +184,7 @@ public class ODataPrimitiveValue extends ODataValue {
*
* @see Builder
*/
- protected ODataPrimitiveValue(final ODataClient client) {
+ protected ODataPrimitiveValue(final CommonODataClient client) {
super();
this.client = client;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/v3/ODataLinkCollection.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/v3/ODataLinkCollection.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/v3/ODataLinkCollection.java
new file mode 100644
index 0000000..846b31e
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/v3/ODataLinkCollection.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.client.api.domain.v3;
+
+import java.net.URI;
+import java.util.List;
+
+/**
+ * Link collection wrapper.
+ */
+public class ODataLinkCollection {
+
+ /**
+ * Link to the next page.
+ */
+ private URI next;
+
+ /**
+ * Contained links.
+ */
+ private List<URI> links;
+
+ /**
+ * Constructor.
+ */
+ public ODataLinkCollection() {
+ }
+
+ /**
+ * Adds link to the collection.
+ *
+ * @param link link to be added.
+ * @return 'TRUE' in case of success; 'FALSE' otherwise.
+ */
+ public boolean addLink(final URI link) {
+ return links.add(link);
+ }
+
+ /**
+ * Removes a link.
+ *
+ * @param link link to be removed.
+ * @return 'TRUE' in case of success; 'FALSE' otherwise.
+ */
+ public boolean removeLink(final URI link) {
+ return links.remove(link);
+ }
+
+ /**
+ * Set links.
+ *
+ * @param links links.
+ */
+ public void setLinks(final List<URI> links) {
+ this.links = links;
+ }
+
+ /**
+ * Gets contained links.
+ *
+ * @return list of links.
+ */
+ public List<URI> getLinks() {
+ return links;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param next next page link.
+ */
+ public ODataLinkCollection(final URI next) {
+ this.next = next;
+ }
+
+ /**
+ * Gets next page link.
+ *
+ * @return next page link; null value if single page or last page reached.
+ */
+ public URI getNext() {
+ return next;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
new file mode 100644
index 0000000..94375f6
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
@@ -0,0 +1,132 @@
+/*
+ * 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.client.api.op;
+
+import java.io.Serializable;
+import java.net.URI;
+import org.apache.olingo.client.api.data.Entry;
+import org.apache.olingo.client.api.data.Feed;
+import org.apache.olingo.client.api.data.Link;
+import org.apache.olingo.client.api.data.Property;
+import org.apache.olingo.client.api.data.ServiceDocument;
+import org.apache.olingo.client.api.domain.ODataEntity;
+import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.client.api.domain.ODataLink;
+import org.apache.olingo.client.api.domain.ODataProperty;
+import org.apache.olingo.client.api.domain.ODataServiceDocument;
+
+public interface CommonODataBinder extends Serializable {
+
+ /**
+ * Gets a <tt>Feed</tt> from the given OData entity set.
+ *
+ * @param feed OData entity set.
+ * @param reference reference class.
+ * @return <tt>Feed</tt> object.
+ */
+ Feed getFeed(ODataEntitySet feed, Class<? extends Feed> reference);
+
+ /**
+ * Gets an <tt>Entry</tt> from the given OData entity.
+ *
+ * @param entity OData entity.
+ * @param reference reference class.
+ * @return <tt>Entry</tt> object.
+ */
+ Entry getEntry(ODataEntity entity, Class<? extends Entry> reference);
+
+ /**
+ * Gets an <tt>Entry</tt> from the given OData entity.
+ *
+ * @param entity OData entity.
+ * @param reference reference class.
+ * @param setType whether to explicitly output type information.
+ * @return <tt>Entry</tt> object.
+ */
+ Entry getEntry(ODataEntity entity, Class<? extends Entry> reference, boolean setType);
+
+ /**
+ * Gets a <tt>Link</tt> from the given OData link.
+ *
+ * @param link OData link.
+ * @param isXML whether it is JSON or XML / Atom
+ * @return <tt>Link</tt> object.
+ */
+ Link getLink(ODataLink link, boolean isXML);
+
+ /**
+ * Gets a <tt>Property</tt> from the given OData property.
+ *
+ * @param property OData property.
+ * @param reference reference class.
+ * @param setType whether to explicitly output type information.
+ * @return <tt>Property</tt> object.
+ */
+ Property getProperty(ODataProperty property, Class<? extends Entry> reference, boolean setType);
+
+ /**
+ * Gets <tt>ODataServiceDocument</tt> from the given service document resource.
+ *
+ * @param resource service document resource.
+ * @return <tt>ODataServiceDocument</tt> object.
+ */
+ ODataServiceDocument getODataServiceDocument(ServiceDocument resource);
+
+ /**
+ * Gets <tt>ODataEntitySet</tt> from the given feed resource.
+ *
+ * @param resource feed resource.
+ * @return <tt>ODataEntitySet</tt> object.
+ */
+ ODataEntitySet getODataEntitySet(Feed resource);
+
+ /**
+ * Gets <tt>ODataEntitySet</tt> from the given feed resource.
+ *
+ * @param resource feed resource.
+ * @param defaultBaseURI default base URI.
+ * @return <tt>ODataEntitySet</tt> object.
+ */
+ ODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
+
+ /**
+ * Gets <tt>ODataEntity</tt> from the given entry resource.
+ *
+ * @param resource entry resource.
+ * @return <tt>ODataEntity</tt> object.
+ */
+ ODataEntity getODataEntity(Entry resource);
+
+ /**
+ * Gets <tt>ODataEntity</tt> from the given entry resource.
+ *
+ * @param resource entry resource.
+ * @param defaultBaseURI default base URI.
+ * @return <tt>ODataEntity</tt> object.
+ */
+ ODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
+
+ /**
+ * Gets an <tt>ODataProperty</tt> from the given property resource.
+ *
+ * @param property property resource.
+ * @return <tt>ODataProperty</tt> object.
+ */
+ ODataProperty getODataProperty(Property property);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
new file mode 100644
index 0000000..d0edb3b
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataDeserializer.java
@@ -0,0 +1,84 @@
+/*
+ * 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.client.api.op;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import org.apache.olingo.client.api.data.Entry;
+import org.apache.olingo.client.api.data.ODataError;
+import org.apache.olingo.client.api.data.Feed;
+import org.apache.olingo.client.api.data.Property;
+import org.apache.olingo.client.api.data.ServiceDocument;
+import org.apache.olingo.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.client.api.format.ODataPubFormat;
+
+/**
+ * Utility class for serialization.
+ */
+public interface CommonODataDeserializer extends Serializable {
+
+ XMLMetadata toMetadata(InputStream input);
+
+ /**
+ * Gets the ServiceDocument object represented by the given InputStream.
+ *
+ * @param input stream to be de-serialized.
+ * @param format OData service document format.
+ * @return <tt>ServiceDocument</tt> object.
+ */
+ ServiceDocument toServiceDocument(InputStream input, ODataFormat format);
+
+ /**
+ * Gets a feed object from the given InputStream.
+ *
+ * @param input stream to be de-serialized.
+ * @param format Atom or JSON
+ * @return Feed instance.
+ */
+ Feed toFeed(InputStream input, ODataPubFormat format);
+
+ /**
+ * Gets an entry object from the given InputStream.
+ *
+ * @param input stream to be de-serialized.
+ * @param format Atom or JSON
+ * @return Entry instance.
+ */
+ Entry toEntry(InputStream input, ODataPubFormat format);
+
+ /**
+ * Gets a property object from the given InputStream.
+ *
+ * @param input stream to be de-serialized.
+ * @param format XML or JSON
+ * @return Property instance.
+ */
+ Property toProperty(InputStream input, ODataFormat format);
+
+ /**
+ * Gets the ODataError object represented by the given InputStream.
+ *
+ * @param input stream to be parsed and de-serialized.
+ * @param isXML 'TRUE' if the error is represented by XML; 'FALSE' otherwise.
+ * @return
+ */
+ ODataError toError(InputStream input, boolean isXML);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
new file mode 100644
index 0000000..ceb7f6b
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataReader.java
@@ -0,0 +1,104 @@
+/*
+ * 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.client.api.op;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import org.apache.olingo.client.api.data.ODataError;
+import org.apache.olingo.client.api.domain.ODataEntity;
+import org.apache.olingo.client.api.domain.ODataEntitySet;
+import org.apache.olingo.client.api.domain.ODataProperty;
+import org.apache.olingo.client.api.domain.ODataServiceDocument;
+import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.client.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.edm.Edm;
+
+/**
+ * OData reader.
+ * <br/>
+ * Use this class to de-serialize an OData response body.
+ * <br/>
+ * This class provides method helpers to de-serialize an entire feed, a set of entities and a single entity as well.
+ */
+public interface CommonODataReader extends Serializable {
+
+ /**
+ * Parses a stream into metadata representation.
+ *
+ * @param input stream to de-serialize.
+ * @return metadata representation.
+ */
+ Edm readMetadata(InputStream input);
+
+ /**
+ * Parses an OData service document.
+ *
+ * @param input stream to de-serialize.
+ * @param format de-serialize as XML or JSON
+ * @return List of URIs.
+ */
+ ODataServiceDocument readServiceDocument(InputStream input, ODataFormat format);
+
+ /**
+ * De-Serializes a stream into an OData entity set.
+ *
+ * @param input stream to de-serialize.
+ * @param format de-serialize as AtomFeed or JSONFeed
+ * @return de-serialized entity set.
+ */
+ ODataEntitySet readEntitySet(InputStream input, ODataPubFormat format);
+
+ /**
+ * Parses a stream taking care to de-serializes the first OData entity found.
+ *
+ * @param input stream to de-serialize.
+ * @param format de-serialize as AtomEntry or JSONEntry
+ * @return entity de-serialized.
+ */
+ ODataEntity readEntity(InputStream input, ODataPubFormat format);
+
+ /**
+ * Parses a stream taking care to de-serialize the first OData entity property found.
+ *
+ * @param input stream to de-serialize.
+ * @param format de-serialize as XML or JSON
+ * @return OData entity property de-serialized.
+ */
+ ODataProperty readProperty(InputStream input, ODataFormat format);
+
+ /**
+ * Parses a stream into an OData error.
+ *
+ * @param inputStream stream to de-serialize.
+ * @param isXML 'TRUE' if the error is in XML format.
+ * @return OData error.
+ */
+ ODataError readError(InputStream inputStream, boolean isXML);
+
+ /**
+ * Parses a stream into the object type specified by the given reference.
+ *
+ * @param <T> expected object type.
+ * @param src input stream.
+ * @param format format
+ * @param reference reference.
+ * @return read object.
+ */
+ <T> T read(InputStream src, String format, Class<T> reference);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataBinder.java
deleted file mode 100644
index 947fd6b..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataBinder.java
+++ /dev/null
@@ -1,142 +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.client.api.op;
-
-import java.io.Serializable;
-import java.net.URI;
-import org.apache.olingo.client.api.data.Entry;
-import org.apache.olingo.client.api.data.Feed;
-import org.apache.olingo.client.api.data.Link;
-import org.apache.olingo.client.api.data.LinkCollection;
-import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.data.ServiceDocument;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataLink;
-import org.apache.olingo.client.api.domain.ODataLinkCollection;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-
-public interface ODataBinder extends Serializable {
-
- /**
- * Gets a <tt>Feed</tt> from the given OData entity set.
- *
- * @param feed OData entity set.
- * @param reference reference class.
- * @return <tt>Feed</tt> object.
- */
- Feed getFeed(ODataEntitySet feed, Class<? extends Feed> reference);
-
- /**
- * Gets an <tt>Entry</tt> from the given OData entity.
- *
- * @param entity OData entity.
- * @param reference reference class.
- * @return <tt>Entry</tt> object.
- */
- Entry getEntry(ODataEntity entity, Class<? extends Entry> reference);
-
- /**
- * Gets an <tt>Entry</tt> from the given OData entity.
- *
- * @param entity OData entity.
- * @param reference reference class.
- * @param setType whether to explicitly output type information.
- * @return <tt>Entry</tt> object.
- */
- Entry getEntry(ODataEntity entity, Class<? extends Entry> reference, boolean setType);
-
- /**
- * Gets a <tt>Link</tt> from the given OData link.
- *
- * @param link OData link.
- * @param isXML whether it is JSON or XML / Atom
- * @return <tt>Link</tt> object.
- */
- Link getLink(ODataLink link, boolean isXML);
-
- /**
- * Gets a <tt>Property</tt> from the given OData property.
- *
- * @param property OData property.
- * @param reference reference class.
- * @param setType whether to explicitly output type information.
- * @return <tt>Property</tt> object.
- */
- Property getProperty(ODataProperty property, Class<? extends Entry> reference, boolean setType);
-
- /**
- * Gets <tt>ODataServiceDocument</tt> from the given service document resource.
- *
- * @param resource service document resource.
- * @return <tt>ODataServiceDocument</tt> object.
- */
- ODataServiceDocument getODataServiceDocument(ServiceDocument resource);
-
- /**
- * Gets <tt>ODataEntitySet</tt> from the given feed resource.
- *
- * @param resource feed resource.
- * @return <tt>ODataEntitySet</tt> object.
- */
- ODataEntitySet getODataEntitySet(Feed resource);
-
- /**
- * Gets <tt>ODataEntitySet</tt> from the given feed resource.
- *
- * @param resource feed resource.
- * @param defaultBaseURI default base URI.
- * @return <tt>ODataEntitySet</tt> object.
- */
- ODataEntitySet getODataEntitySet(Feed resource, URI defaultBaseURI);
-
- /**
- * Gets <tt>ODataEntity</tt> from the given entry resource.
- *
- * @param resource entry resource.
- * @return <tt>ODataEntity</tt> object.
- */
- ODataEntity getODataEntity(Entry resource);
-
- /**
- * Gets <tt>ODataEntity</tt> from the given entry resource.
- *
- * @param resource entry resource.
- * @param defaultBaseURI default base URI.
- * @return <tt>ODataEntity</tt> object.
- */
- ODataEntity getODataEntity(Entry resource, URI defaultBaseURI);
-
- /**
- * Gets an <tt>ODataProperty</tt> from the given property resource.
- *
- * @param property property resource.
- * @return <tt>ODataProperty</tt> object.
- */
- ODataProperty getODataProperty(Property property);
-
- /**
- * Gets <tt>ODataLinkCollection</tt> from the given link collection resource.
- *
- * @param resource link collection resource.
- * @return <tt>ODataLinkCollection</tt> object.
- */
- ODataLinkCollection getLinkCollection(LinkCollection resource);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataDeserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataDeserializer.java
deleted file mode 100644
index f8bebda..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataDeserializer.java
+++ /dev/null
@@ -1,94 +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.client.api.op;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import org.apache.olingo.client.api.data.Entry;
-import org.apache.olingo.client.api.data.ODataError;
-import org.apache.olingo.client.api.data.Feed;
-import org.apache.olingo.client.api.data.LinkCollection;
-import org.apache.olingo.client.api.data.Property;
-import org.apache.olingo.client.api.data.ServiceDocument;
-import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-
-/**
- * Utility class for serialization.
- */
-public interface ODataDeserializer extends Serializable {
-
- XMLMetadata toMetadata(InputStream input);
-
- /**
- * Gets the ServiceDocument object represented by the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format OData service document format.
- * @return <tt>ServiceDocument</tt> object.
- */
- ServiceDocument toServiceDocument(InputStream input, ODataFormat format);
-
- /**
- * Gets a feed object from the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format Atom or JSON
- * @return Feed instance.
- */
- Feed toFeed(InputStream input, ODataPubFormat format);
-
- /**
- * Gets an entry object from the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format Atom or JSON
- * @return Entry instance.
- */
- Entry toEntry(InputStream input, ODataPubFormat format);
-
- /**
- * Gets a property object from the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format XML or JSON
- * @return Property instance.
- */
- Property toProperty(InputStream input, ODataFormat format);
-
- /**
- * Gets the ODataError object represented by the given InputStream.
- *
- * @param input stream to be parsed and de-serialized.
- * @param isXML 'TRUE' if the error is represented by XML; 'FALSE' otherwise.
- * @return
- */
- ODataError toError(InputStream input, boolean isXML);
-
- /**
- * Gets a list of links from the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format OData format.
- * @return de-serialized links.
- */
- LinkCollection toLinkCollection(InputStream input, ODataFormat format);
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataReader.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataReader.java
deleted file mode 100644
index 8bfe68e..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataReader.java
+++ /dev/null
@@ -1,114 +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.client.api.op;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import org.apache.olingo.client.api.data.ODataError;
-import org.apache.olingo.client.api.domain.ODataEntity;
-import org.apache.olingo.client.api.domain.ODataEntitySet;
-import org.apache.olingo.client.api.domain.ODataLinkCollection;
-import org.apache.olingo.client.api.domain.ODataProperty;
-import org.apache.olingo.client.api.domain.ODataServiceDocument;
-import org.apache.olingo.client.api.format.ODataFormat;
-import org.apache.olingo.client.api.format.ODataPubFormat;
-import org.apache.olingo.commons.api.edm.Edm;
-
-/**
- * OData reader.
- * <br/>
- * Use this class to de-serialize an OData response body.
- * <br/>
- * This class provides method helpers to de-serialize an entire feed, a set of entities and a single entity as well.
- */
-public interface ODataReader extends Serializable {
-
- /**
- * Parses a stream into metadata representation.
- *
- * @param input stream to de-serialize.
- * @return metadata representation.
- */
- Edm readMetadata(InputStream input);
-
- /**
- * Parses an OData service document.
- *
- * @param input stream to de-serialize.
- * @param format de-serialize as XML or JSON
- * @return List of URIs.
- */
- ODataServiceDocument readServiceDocument(InputStream input, ODataFormat format);
-
- /**
- * De-Serializes a stream into an OData entity set.
- *
- * @param input stream to de-serialize.
- * @param format de-serialize as AtomFeed or JSONFeed
- * @return de-serialized entity set.
- */
- ODataEntitySet readEntitySet(InputStream input, ODataPubFormat format);
-
- /**
- * Parses a stream taking care to de-serializes the first OData entity found.
- *
- * @param input stream to de-serialize.
- * @param format de-serialize as AtomEntry or JSONEntry
- * @return entity de-serialized.
- */
- ODataEntity readEntity(InputStream input, ODataPubFormat format);
-
- /**
- * Parses a stream taking care to de-serialize the first OData entity property found.
- *
- * @param input stream to de-serialize.
- * @param format de-serialize as XML or JSON
- * @return OData entity property de-serialized.
- */
- ODataProperty readProperty(InputStream input, ODataFormat format);
-
- /**
- * Parses a $links request response.
- *
- * @param input stream to de-serialize.
- * @param format de-serialize as XML or JSON
- * @return List of URIs.
- */
- ODataLinkCollection readLinks(InputStream input, ODataFormat format);
-
- /**
- * Parses a stream into an OData error.
- *
- * @param inputStream stream to de-serialize.
- * @param isXML 'TRUE' if the error is in XML format.
- * @return OData error.
- */
- ODataError readError(InputStream inputStream, boolean isXML);
-
- /**
- * Parses a stream into the object type specified by the given reference.
- *
- * @param <T> expected object type.
- * @param src input stream.
- * @param format format
- * @param reference reference.
- * @return read object.
- */
- <T> T read(InputStream src, String format, Class<T> reference);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV3Deserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV3Deserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV3Deserializer.java
deleted file mode 100644
index 725e2e1..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV3Deserializer.java
+++ /dev/null
@@ -1,31 +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.client.api.op;
-
-public interface ODataV3Deserializer extends ODataDeserializer {
- /**
- * Gets a list of links from the given InputStream.
- *
- * @param input stream to be de-serialized.
- * @param format OData format.
- * @return de-serialized links.
- */
-// LinkCollection toLinkCollection(InputStream input, ODataFormat format);
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV4Deserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV4Deserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV4Deserializer.java
deleted file mode 100644
index c782cd5..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/ODataV4Deserializer.java
+++ /dev/null
@@ -1,30 +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.client.api.op;
-
-import java.io.InputStream;
-
-import org.apache.olingo.client.api.edm.xml.v4.XMLMetadata;
-
-public interface ODataV4Deserializer extends ODataDeserializer {
-
- @Override
- XMLMetadata toMetadata(InputStream input);
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.java
new file mode 100644
index 0000000..118a002
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataBinder.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.client.api.op.v3;
+
+import org.apache.olingo.client.api.data.v3.LinkCollection;
+import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
+import org.apache.olingo.client.api.op.CommonODataBinder;
+
+public interface ODataBinder extends CommonODataBinder {
+
+ /**
+ * Gets <tt>ODataLinkCollection</tt> from the given link collection resource.
+ *
+ * @param resource link collection resource.
+ * @return <tt>ODataLinkCollection</tt> object.
+ */
+ ODataLinkCollection getLinkCollection(LinkCollection resource);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
new file mode 100644
index 0000000..1b4a98b
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataDeserializer.java
@@ -0,0 +1,37 @@
+/*
+ * 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.client.api.op.v3;
+
+import java.io.InputStream;
+import org.apache.olingo.client.api.data.v3.LinkCollection;
+import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.client.api.op.CommonODataDeserializer;
+
+public interface ODataDeserializer extends CommonODataDeserializer {
+
+ /**
+ * Gets a list of links from the given InputStream.
+ *
+ * @param input stream to be de-serialized.
+ * @param format OData format.
+ * @return de-serialized links.
+ */
+ LinkCollection toLinkCollection(InputStream input, ODataFormat format);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
new file mode 100644
index 0000000..bb436ad
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v3/ODataReader.java
@@ -0,0 +1,37 @@
+/*
+ * 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.client.api.op.v3;
+
+import java.io.InputStream;
+import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
+import org.apache.olingo.client.api.format.ODataFormat;
+import org.apache.olingo.client.api.op.CommonODataReader;
+
+public interface ODataReader extends CommonODataReader {
+
+ /**
+ * Parses a $links request response.
+ *
+ * @param input stream to de-serialize.
+ * @param format de-serialize as XML or JSON
+ * @return List of URIs.
+ */
+ ODataLinkCollection readLinks(InputStream input, ODataFormat format);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/bab03624/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
new file mode 100644
index 0000000..1397c47
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/v4/ODataBinder.java
@@ -0,0 +1,25 @@
+/*
+ * 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.client.api.op.v4;
+
+import org.apache.olingo.client.api.op.CommonODataBinder;
+
+public interface ODataBinder extends CommonODataBinder {
+
+}