<!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 Wed Dec 06 14:36:23 CET 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ODataJPAContext (olingo-odata2-parent 2.0.10 API)</title>
<meta name="date" content="2017-12-06">
<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="ODataJPAContext (olingo-odata2-parent 2.0.10 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,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":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/ODataJPAContext.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPADefaultProcessor.html" title="class in org.apache.olingo.odata2.jpa.processor.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html" target="_top">Frames</a></li>
<li><a href="ODataJPAContext.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.odata2.jpa.processor.api</div>
<h2 title="Interface ODataJPAContext" class="title">Interface ODataJPAContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ODataJPAContext</span></pre>
<div class="block">This class does the compilation of context objects required for OData JPA
 Runtime. The context object should be properly initialized with values else
 the behavior of processor and EDM provider can result in exception.
 
 Following are the mandatory parameter to be set into the context object
 <ol>
 <li>Persistence Unit Name</li>
 <li>An instance of Java Persistence Entity Manager Factory</li>
 </ol>
 
 <br></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/factory/ODataJPAFactory.html" title="class in org.apache.olingo.odata2.jpa.processor.api.factory"><code>ODataJPAFactory</code></a>, 
<a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/factory/ODataJPAAccessFactory.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.factory"><code>ODataJPAAccessFactory</code></a></dd>
<dt><span class="simpleTagLabel">Do not implement this interface or derive from class.</span></dt>
</dl>
</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getDefaultNaming--">getDefaultNaming</a></span>()</code>
<div class="block">The method returns whether the library should consider default naming for
 EdmProperty
 EdmComplexProperty
 EdmNavigationProperty</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/edm/provider/EdmProvider.html" title="class in org.apache.olingo.odata2.api.edm.provider">EdmProvider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getEdmProvider--">getEdmProvider</a></span>()</code>
<div class="block">The method gets the EDM provider for JPA from the context.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>javax.persistence.EntityManager</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getEntityManager--">getEntityManager</a></span>()</code>
<div class="block">The method returns an instance of type entity manager.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>javax.persistence.EntityManagerFactory</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getEntityManagerFactory--">getEntityManagerFactory</a></span>()</code>
<div class="block">The method gets the Java Persistence Entity Manager factory from the
 context.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmExtension.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmExtension</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getJPAEdmExtension--">getJPAEdmExtension</a></span>()</code>
<div class="block">The method returns the JPA Edm Extension instance set into the context.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getJPAEdmMappingModel--">getJPAEdmMappingModel</a></span>()</code>
<div class="block">The method gets the JPA EDM mapping model name from the context.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataContext.html" title="interface in org.apache.olingo.odata2.api.processor">ODataContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getODataContext--">getODataContext</a></span>()</code>
<div class="block">The method gets OData Context into the context.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.html" title="interface in org.apache.olingo.odata2.jpa.processor.api">ODataJPATransaction</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getODataJPATransaction--">getODataJPATransaction</a></span>()</code>
<div class="block">The method returns the ODataJPATransaction.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataProcessor.html" title="interface in org.apache.olingo.odata2.api.processor">ODataProcessor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getODataProcessor--">getODataProcessor</a></span>()</code>
<div class="block">The method gets the OData Processor for JPA from the context.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getPageSize--">getPageSize</a></span>()</code>
<div class="block">The method gets the server side page size to the context</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access">JPAPaging</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getPaging--">getPaging</a></span>()</code>
<div class="block">The method returns the server side paging object</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getPersistenceUnitName--">getPersistenceUnitName</a></span>()</code>
<div class="block">The method gets the Java Persistence Unit Name set into the context.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#isContainerManaged--">isContainerManaged</a></span>()</code>
<div class="block">The method returns <code>true</code> if the underlying entity manager is container managed.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setContainerManaged-boolean-">setContainerManaged</a></span>(boolean&nbsp;containerManaged)</code>
<div class="block">Set the state whether the underlying entity manager is container managed (or not).</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setDefaultNaming-boolean-">setDefaultNaming</a></span>(boolean&nbsp;defaultNaming)</code>
<div class="block">The method sets into the context whether the library should consider default naming for
 EdmProperty
 EdmComplexProperty
 EdmNavigationProperty</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setEdmProvider-org.apache.olingo.odata2.api.edm.provider.EdmProvider-">setEdmProvider</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/api/edm/provider/EdmProvider.html" title="class in org.apache.olingo.odata2.api.edm.provider">EdmProvider</a>&nbsp;edmProvider)</code>
<div class="block">The method sets EDM provider into the context</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setEntityManager-javax.persistence.EntityManager-">setEntityManager</a></span>(javax.persistence.EntityManager&nbsp;em)</code>
<div class="block">The method sets the Entity Manager into the Context</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setEntityManagerFactory-javax.persistence.EntityManagerFactory-">setEntityManagerFactory</a></span>(javax.persistence.EntityManagerFactory&nbsp;emf)</code>
<div class="block">The method sets the Java Persistence Entity Manager factory into the
 context.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setJPAEdmExtension-org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmExtension-">setJPAEdmExtension</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmExtension.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmExtension</a>&nbsp;jpaEdmExtension)</code>
<div class="block">The method sets the JPA Edm Extension instance into the context.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setJPAEdmMappingModel-java.lang.String-">setJPAEdmMappingModel</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;name)</code>
<div class="block">The method sets the JPA EDM mapping model name into the context.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setODataContext-org.apache.olingo.odata2.api.processor.ODataContext-">setODataContext</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataContext.html" title="interface in org.apache.olingo.odata2.api.processor">ODataContext</a>&nbsp;ctx)</code>
<div class="block">The method sets OData context into the context.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setODataProcessor-org.apache.olingo.odata2.api.processor.ODataProcessor-">setODataProcessor</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataProcessor.html" title="interface in org.apache.olingo.odata2.api.processor">ODataProcessor</a>&nbsp;processor)</code>
<div class="block">The method sets the OData Processor for JPA into the context.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setPageSize-int-">setPageSize</a></span>(int&nbsp;size)</code>
<div class="block">The method sets the server side page size to the context</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setPaging-org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging-">setPaging</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access">JPAPaging</a>&nbsp;paging)</code>
<div class="block">The method sets the server side paging object</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#setPersistenceUnitName-java.lang.String-">setPersistenceUnitName</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;pUnitName)</code>
<div class="block">The method sets the Java Persistence Unit Name into the context.</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="getPersistenceUnitName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPersistenceUnitName</h4>
<pre><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;getPersistenceUnitName()</pre>
<div class="block">The method gets the Java Persistence Unit Name set into the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Java Persistence Unit Name</dd>
</dl>
</li>
</ul>
<a name="setPersistenceUnitName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPersistenceUnitName</h4>
<pre>void&nbsp;setPersistenceUnitName(<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;pUnitName)</pre>
<div class="block">The method sets the Java Persistence Unit Name into the context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pUnitName</code> - is the Java Persistence Unit Name.</dd>
</dl>
</li>
</ul>
<a name="getODataProcessor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getODataProcessor</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataProcessor.html" title="interface in org.apache.olingo.odata2.api.processor">ODataProcessor</a>&nbsp;getODataProcessor()</pre>
<div class="block">The method gets the OData Processor for JPA from the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>OData JPA Processor</dd>
</dl>
</li>
</ul>
<a name="setODataProcessor-org.apache.olingo.odata2.api.processor.ODataProcessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setODataProcessor</h4>
<pre>void&nbsp;setODataProcessor(<a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataProcessor.html" title="interface in org.apache.olingo.odata2.api.processor">ODataProcessor</a>&nbsp;processor)</pre>
<div class="block">The method sets the OData Processor for JPA into the context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processor</code> - is the specific implementation of <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAProcessor.html" title="class in org.apache.olingo.odata2.jpa.processor.api"><code>ODataJPAProcessor</code></a> for
 processing OData service requests.</dd>
</dl>
</li>
</ul>
<a name="getEdmProvider--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdmProvider</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/api/edm/provider/EdmProvider.html" title="class in org.apache.olingo.odata2.api.edm.provider">EdmProvider</a>&nbsp;getEdmProvider()</pre>
<div class="block">The method gets the EDM provider for JPA from the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>EDM provider</dd>
</dl>
</li>
</ul>
<a name="setEdmProvider-org.apache.olingo.odata2.api.edm.provider.EdmProvider-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEdmProvider</h4>
<pre>void&nbsp;setEdmProvider(<a href="../../../../../../../org/apache/olingo/odata2/api/edm/provider/EdmProvider.html" title="class in org.apache.olingo.odata2.api.edm.provider">EdmProvider</a>&nbsp;edmProvider)</pre>
<div class="block">The method sets EDM provider into the context</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>edmProvider</code> - is the specific implementation of <a href="../../../../../../../org/apache/olingo/odata2/api/edm/provider/EdmProvider.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>EdmProvider</code></a> for
 transforming Java persistence models to Entity Data Model</dd>
</dl>
</li>
</ul>
<a name="getEntityManagerFactory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityManagerFactory</h4>
<pre>javax.persistence.EntityManagerFactory&nbsp;getEntityManagerFactory()</pre>
<div class="block">The method gets the Java Persistence Entity Manager factory from the
 context. <br>
 <b>CAUTION:-</b> Don't use the Entity Manager Factory to instantiate
 Entity Managers. Instead get reference to Entity Manager using
 <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html#getEntityManager--"><code>getEntityManager()</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of Java Persistence Entity Manager Factory</dd>
</dl>
</li>
</ul>
<a name="setEntityManagerFactory-javax.persistence.EntityManagerFactory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEntityManagerFactory</h4>
<pre>void&nbsp;setEntityManagerFactory(javax.persistence.EntityManagerFactory&nbsp;emf)</pre>
<div class="block">The method sets the Java Persistence Entity Manager factory into the
 context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>emf</code> - is of type <code>EntityManagerFactory</code></dd>
</dl>
</li>
</ul>
<a name="getODataContext--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getODataContext</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataContext.html" title="interface in org.apache.olingo.odata2.api.processor">ODataContext</a>&nbsp;getODataContext()</pre>
<div class="block">The method gets OData Context into the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>OData Context</dd>
</dl>
</li>
</ul>
<a name="setODataContext-org.apache.olingo.odata2.api.processor.ODataContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setODataContext</h4>
<pre>void&nbsp;setODataContext(<a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataContext.html" title="interface in org.apache.olingo.odata2.api.processor">ODataContext</a>&nbsp;ctx)</pre>
<div class="block">The method sets OData context into the context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ctx</code> - is an OData context of type <a href="../../../../../../../org/apache/olingo/odata2/api/processor/ODataContext.html" title="interface in org.apache.olingo.odata2.api.processor"><code>ODataContext</code></a></dd>
</dl>
</li>
</ul>
<a name="setJPAEdmMappingModel-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJPAEdmMappingModel</h4>
<pre>void&nbsp;setJPAEdmMappingModel(<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;name)</pre>
<div class="block">The method sets the JPA EDM mapping model name into the context. JPA EDM
 mapping model is an XML document based on JPAEDMMappingModel.xsd</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - is the name of JPA EDM mapping model</dd>
</dl>
</li>
</ul>
<a name="getJPAEdmMappingModel--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJPAEdmMappingModel</h4>
<pre><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;getJPAEdmMappingModel()</pre>
<div class="block">The method gets the JPA EDM mapping model name from the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name of JPA EDM mapping model</dd>
</dl>
</li>
</ul>
<a name="setEntityManager-javax.persistence.EntityManager-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEntityManager</h4>
<pre>void&nbsp;setEntityManager(javax.persistence.EntityManager&nbsp;em)</pre>
<div class="block">The method sets the Entity Manager into the Context</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>em</code> - </dd>
</dl>
</li>
</ul>
<a name="getEntityManager--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityManager</h4>
<pre>javax.persistence.EntityManager&nbsp;getEntityManager()</pre>
<div class="block">The method returns an instance of type entity manager. The entity manager
 thus returns a single persistence context for the current OData request.
 Hence all entities that are accessed within JPA processor are managed by
 single entity manager.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of type <code>EntityManager</code></dd>
</dl>
</li>
</ul>
<a name="setJPAEdmExtension-org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmExtension-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJPAEdmExtension</h4>
<pre>void&nbsp;setJPAEdmExtension(<a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmExtension.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmExtension</a>&nbsp;jpaEdmExtension)</pre>
<div class="block">The method sets the JPA Edm Extension instance into the context. There
 can be at most only one extension for a context. Invoking the method
 several times overwrites already set extension instance in the context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jpaEdmExtension</code> - is an instance of type <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmExtension.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model"><code>JPAEdmExtension</code></a></dd>
</dl>
</li>
</ul>
<a name="getJPAEdmExtension--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJPAEdmExtension</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmExtension.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmExtension</a>&nbsp;getJPAEdmExtension()</pre>
<div class="block">The method returns the JPA Edm Extension instance set into the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of type
 <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAEmbeddableTypeMapType.html" title="class in org.apache.olingo.odata2.jpa.processor.api.model.mapping"><code>JPAEmbeddableTypeMapType</code></a></dd>
</dl>
</li>
</ul>
<a name="setDefaultNaming-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultNaming</h4>
<pre>void&nbsp;setDefaultNaming(boolean&nbsp;defaultNaming)</pre>
<div class="block">The method sets into the context whether the library should consider default naming for
 <ul><li>EdmProperty</li>
 <li>EdmComplexProperty</li>
 <li>EdmNavigationProperty</li></ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultNaming</code> - is a boolean value that indicates if set to
 <ul><li>true - default naming is considered in case no mapping is provided.</li>
 <li>false - default naming is not considered in case no mapping is provided. The
 name provided in JPA Entity Model is considered.</li>
 </ul></dd>
</dl>
</li>
</ul>
<a name="getDefaultNaming--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultNaming</h4>
<pre>boolean&nbsp;getDefaultNaming()</pre>
<div class="block">The method returns whether the library should consider default naming for
 <ul><li>EdmProperty</li>
 <li>EdmComplexProperty</li>
 <li>EdmNavigationProperty</li></ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><ul><li>true - default naming is considered in case no mapping is provided.</li>
 <li>false - default naming is not considered in case no mapping is provided. The
 name provided in JPA Entity Model is considered.</li>
 </ul></dd>
</dl>
</li>
</ul>
<a name="getPageSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPageSize</h4>
<pre>int&nbsp;getPageSize()</pre>
<div class="block">The method gets the server side page size to the context</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the page size</dd>
</dl>
</li>
</ul>
<a name="setPageSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPageSize</h4>
<pre>void&nbsp;setPageSize(int&nbsp;size)</pre>
<div class="block">The method sets the server side page size to the context</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - </dd>
</dl>
</li>
</ul>
<a name="setPaging-org.apache.olingo.odata2.jpa.processor.api.access.JPAPaging-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPaging</h4>
<pre>void&nbsp;setPaging(<a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access">JPAPaging</a>&nbsp;paging)</pre>
<div class="block">The method sets the server side paging object</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>paging</code> - an instance of type <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access"><code>JPAPaging</code></a></dd>
</dl>
</li>
</ul>
<a name="getPaging--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPaging</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access">JPAPaging</a>&nbsp;getPaging()</pre>
<div class="block">The method returns the server side paging object</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of type <a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/access/JPAPaging.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.access"><code>JPAPaging</code></a></dd>
</dl>
</li>
</ul>
<a name="getODataJPATransaction--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getODataJPATransaction</h4>
<pre><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPATransaction.html" title="interface in org.apache.olingo.odata2.jpa.processor.api">ODataJPATransaction</a>&nbsp;getODataJPATransaction()</pre>
<div class="block">The method returns the ODataJPATransaction.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ODataJPATransaction</dd>
</dl>
</li>
</ul>
<a name="setContainerManaged-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContainerManaged</h4>
<pre>void&nbsp;setContainerManaged(boolean&nbsp;containerManaged)</pre>
<div class="block">Set the state whether the underlying entity manager is container managed (or not).
 (Default is <code>false</code>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>containerManaged</code> - <code>true</code> for container managed entity manager</dd>
</dl>
</li>
</ul>
<a name="isContainerManaged--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isContainerManaged</h4>
<pre>boolean&nbsp;isContainerManaged()</pre>
<div class="block">The method returns <code>true</code> if the underlying entity manager is container managed.
 (Default is <code>false</code>)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the underlying entity manger is container manged.</dd>
</dl>
</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/ODataJPAContext.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/olingo/odata2/jpa/processor/api/ODataJPADefaultProcessor.html" title="class in org.apache.olingo.odata2.jpa.processor.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/olingo/odata2/jpa/processor/api/ODataJPAContext.html" target="_top">Frames</a></li>
<li><a href="ODataJPAContext.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-2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
