<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Mon Aug 13 15:36:33 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RetrieveRequestFactory (Olingo-OData 4.5.0 API)</title>
<meta name="date" content="2018-08-13">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="RetrieveRequestFactory (Olingo-OData 4.5.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RetrieveRequestFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/XMLMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html" target="_top">Frames</a></li>
<li><a href="RetrieveRequestFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.olingo.client.api.communication.request.retrieve</div>
<h2 title="Interface RetrieveRequestFactory" class="title">Interface RetrieveRequestFactory</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">RetrieveRequestFactory</span></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataDeltaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataDeltaRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getDeltaRequest-java.net.URI-">getDeltaRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntityRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntity.html" title="interface in org.apache.olingo.client.api.domain">ClientEntity</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getEntityRequest-java.net.URI-">getEntityRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a single OData entity.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntitySetIteratorRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntitySet.html" title="interface in org.apache.olingo.client.api.domain">ClientEntitySet</a>,<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntity.html" title="interface in org.apache.olingo.client.api.domain">ClientEntity</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getEntitySetIteratorRequest-java.net.URI-">getEntitySetIteratorRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a set of one or more OData entities.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntitySetRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntitySet.html" title="interface in org.apache.olingo.client.api.domain">ClientEntitySet</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getEntitySetRequest-java.net.URI-">getEntitySetRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a set of one or more OData entities.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataMediaRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getMediaEntityRequest-java.net.URI-">getMediaEntityRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a media entity.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataMediaRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getMediaRequest-java.net.URI-">getMediaRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a media stream.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/EdmMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">EdmMetadataRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getMetadataRequest-java.lang.String-">getMetadataRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</code>
<div class="block">Gets a metadata request instance.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataPropertyRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientProperty.html" title="interface in org.apache.olingo.client.api.domain">ClientProperty</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getPropertyRequest-java.net.URI-">getPropertyRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a single OData entity property.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataValueRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getPropertyValueRequest-java.net.URI-">getPropertyValueRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a single OData entity property value.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataRawRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataRawRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getRawRequest-java.net.URI-">getRawRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Implements a raw request request without specifying any return type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataServiceDocumentRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getServiceDocumentRequest-java.lang.String-">getServiceDocumentRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</code>
<div class="block">Gets a service document request instance.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntityRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientSingleton.html" title="interface in org.apache.olingo.client.api.domain">ClientSingleton</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getSingletonRequest-java.net.URI-">getSingletonRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataValueRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getValueRequest-java.net.URI-">getValueRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</code>
<div class="block">Gets a uri request returning a single OData entity property value.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/XMLMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">XMLMetadataRequest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getXMLMetadataRequest-java.lang.String-">getXMLMetadataRequest</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</code>
<div class="block">Gets a metadata request instance.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getXMLMetadataRequest-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXMLMetadataRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/XMLMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">XMLMetadataRequest</a>&nbsp;getXMLMetadataRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</pre>
<div class="block">Gets a metadata request instance.
 <br/>
 Compared to <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html#getMetadataRequest-java.lang.String-"><code>getMetadataRequest(java.lang.String)</code></a>, this method returns a request instance for fetching
 low-level metadata representation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceRoot</code> - absolute URL (schema, host and port included) representing the location of the root of the data
 service.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/XMLMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>XMLMetadataRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getMetadataRequest-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetadataRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/EdmMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">EdmMetadataRequest</a>&nbsp;getMetadataRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</pre>
<div class="block">Gets a metadata request instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceRoot</code> - absolute URL (schema, host and port included) representing the location of the root of the data
 service.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/EdmMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>EdmMetadataRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getServiceDocumentRequest-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceDocumentRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataServiceDocumentRequest</a>&nbsp;getServiceDocumentRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceRoot)</pre>
<div class="block">Gets a service document request instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceRoot</code> - absolute URL (schema, host and port included) representing the location of the root of the data
 service.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataServiceDocumentRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataServiceDocumentRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getEntitySetRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntitySetRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntitySetRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntitySet.html" title="interface in org.apache.olingo.client.api.domain">ClientEntitySet</a>&gt;&nbsp;getEntitySetRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a set of one or more OData entities.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataEntitySetRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getEntitySetIteratorRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntitySetIteratorRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntitySetIteratorRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntitySet.html" title="interface in org.apache.olingo.client.api.domain">ClientEntitySet</a>,<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntity.html" title="interface in org.apache.olingo.client.api.domain">ClientEntity</a>&gt;&nbsp;getEntitySetIteratorRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri 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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntitySetIteratorRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataEntitySetIteratorRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getEntityRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntityRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientEntity.html" title="interface in org.apache.olingo.client.api.domain">ClientEntity</a>&gt;&nbsp;getEntityRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a single OData entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataEntityRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getPropertyRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataPropertyRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientProperty.html" title="interface in org.apache.olingo.client.api.domain">ClientProperty</a>&gt;&nbsp;getPropertyRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a single OData entity property.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataPropertyRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataPropertyRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getPropertyValueRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyValueRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataValueRequest</a>&nbsp;getPropertyValueRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a single OData entity property value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataValueRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getValueRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataValueRequest</a>&nbsp;getValueRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a single OData entity property value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataValueRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getMediaRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMediaRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataMediaRequest</a>&nbsp;getMediaRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a media stream.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataMediaRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getMediaEntityRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMediaEntityRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataMediaRequest</a>&nbsp;getMediaEntityRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Gets a uri request returning a media entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataMediaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataMediaRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getRawRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataRawRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataRawRequest</a>&nbsp;getRawRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
<div class="block">Implements a raw request request without specifying any return type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - request URI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new <a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataRawRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><code>ODataRawRequest</code></a> instance.</dd>
</dl>
</li>
</ul>
<a name="getSingletonRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSingletonRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataEntityRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataEntityRequest</a>&lt;<a href="../../../../../../../../org/apache/olingo/client/api/domain/ClientSingleton.html" title="interface in org.apache.olingo.client.api.domain">ClientSingleton</a>&gt;&nbsp;getSingletonRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
</li>
</ul>
<a name="getDeltaRequest-java.net.URI-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDeltaRequest</h4>
<pre><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataDeltaRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve">ODataDeltaRequest</a>&nbsp;getDeltaRequest(<a href="http://docs.oracle.com/javase/6/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;uri)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RetrieveRequestFactory.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/ODataValueRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/olingo/client/api/communication/request/retrieve/XMLMetadataRequest.html" title="interface in org.apache.olingo.client.api.communication.request.retrieve"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.html" target="_top">Frames</a></li>
<li><a href="RetrieveRequestFactory.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013&#x2013;2018 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
