blob: df40b755f9b611962716986e22aae3e9983cf57e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="it">
<head>
<!-- Generated by javadoc (version 1.7.0_80) on Thu Jun 14 10:04:09 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PurchaseOrder (OpenJPA Parent POM 2.4.3 API)</title>
<meta name="date" content="2018-06-14">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PurchaseOrder (OpenJPA Parent POM 2.4.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/PurchaseOrder.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="../../openbook/domain/LineItem.LineItemId.html" title="class in openbook.domain"><span class="strong">Prev Class</span></a></li>
<li><a href="../../openbook/domain/PurchaseOrder.Status.html" title="enum in openbook.domain"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?openbook/domain/PurchaseOrder.html" target="_top">Frames</a></li>
<li><a href="PurchaseOrder.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&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><a href="#constructor_detail">Constr</a>&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">openbook.domain</div>
<h2 title="Class PurchaseOrder" class="title">Class PurchaseOrder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>openbook.domain.PurchaseOrder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<hr>
<br>
<pre>@Entity
public class <span class="strong">PurchaseOrder</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">A persistent entity to demonstrate Master in a Master-Details or Composite pattern for
persistent domain model.
<br>
The Purchase Order - Line Items relationship typically demonstrates a Master-Details pattern.
In JPA 2.0, following new features are added to support this common pattern used in domain modeling,
and this example demonstrates them.<br>
<LI> Compound, Derived identity: This feature allows the Details type to compose its identity from the
the Master's identity.
<LI> Orphan Delete or Dependent relation: This feature allows to impose composite relation semantics to
normally associative relation semantics implied in Java. Composite relation in persistence terms also
translates to deletion of Details record from database when the details lose their relation to master.
<br>
Besides the above two key features, this persistent type also shows usage of
<LI>Auto-generated identity.
<LI>Enum type persistent attribute.
<LI>Date type persistent attribute.
<LI>One-to-One uni-directional, immutable mapping to Customer.
<LI>One-to-Many bi-directional, immutable mapping to LineItem.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Pinaki Poddar</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../serialized-form.html#openbook.domain.PurchaseOrder">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.Status.html" title="enum in openbook.domain">PurchaseOrder.Status</a></strong></code>
<div class="block">Enumerates the status of a Purchase Order.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#PurchaseOrder()">PurchaseOrder</a></strong>()</code>
<div class="block">A protected constructor satisfies two purposes:<br>
i) Status and creation time is set consistently.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#PurchaseOrder(openbook.domain.ShoppingCart)">PurchaseOrder</a></strong>(<a href="../../openbook/domain/ShoppingCart.html" title="class in openbook.domain">ShoppingCart</a>&nbsp;cart)</code>
<div class="block"><A name="init"/>
Construct a new order by transferring the content of the given <a href="../../openbook/domain/ShoppingCart.html" title="class in openbook.domain">ShoppingCart</a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../openbook/domain/Customer.html" title="class in openbook.domain">Customer</a></code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getCustomer()">getCustomer</a></strong>()</code>
<div class="block">Gets the customer who placed this Purchase Order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a></code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getDeliveredOn()">getDeliveredOn</a></strong>()</code>
<div class="block">Gets the time when this order was delivered.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getId()">getId</a></strong>()</code>
<div class="block">Gets the immutable, auto-generated persistent identity of this Purchase Order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../openbook/domain/LineItem.html" title="class in openbook.domain">LineItem</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getItems()">getItems</a></strong>()</code>
<div class="block">Gets the items for this Purchase Order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a></code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getPlacedOn()">getPlacedOn</a></strong>()</code>
<div class="block">Gets the time when this order was placed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../openbook/domain/PurchaseOrder.Status.html" title="enum in openbook.domain">PurchaseOrder.Status</a></code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getStatus()">getStatus</a></strong>()</code>
<div class="block">Gets the status of this Purchase Order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#getTotal()">getTotal</a></strong>()</code>
<div class="block">Gets the total cost of all the items in this order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#isDelivered()">isDelivered</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../openbook/domain/PurchaseOrder.html#setDelivered()">setDelivered</a></strong>()</code>
<div class="block"><A name="setDelivered"/>
Sets the status of this Purchase Order as delivered.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PurchaseOrder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PurchaseOrder</h4>
<pre>protected&nbsp;PurchaseOrder()</pre>
<div class="block">A protected constructor satisfies two purposes:<br>
<LI>i) Status and creation time is set consistently.
<LI>ii) OpenJPA Bytecode Enhancer requires an empty constructor for the domain classes.
The public constructor of Purchase Order takes a Shopping Cart as argument.</div>
</li>
</ul>
<a name="PurchaseOrder(openbook.domain.ShoppingCart)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PurchaseOrder</h4>
<pre>public&nbsp;PurchaseOrder(<a href="../../openbook/domain/ShoppingCart.html" title="class in openbook.domain">ShoppingCart</a>&nbsp;cart)</pre>
<div class="block"><A name="init"/>
Construct a new order by transferring the content of the given <a href="../../openbook/domain/ShoppingCart.html" title="class in openbook.domain">ShoppingCart</a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cart</code> - a non-null, non-empty Shopping cart</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the cart is null</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cart is empty</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>public&nbsp;long&nbsp;getId()</pre>
<div class="block">Gets the immutable, auto-generated persistent identity of this Purchase Order.</div>
</li>
</ul>
<a name="getCustomer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomer</h4>
<pre>public&nbsp;<a href="../../openbook/domain/Customer.html" title="class in openbook.domain">Customer</a>&nbsp;getCustomer()</pre>
<div class="block">Gets the customer who placed this Purchase Order.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>immutable Customer.</dd></dl>
</li>
</ul>
<a name="getStatus()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatus</h4>
<pre>public&nbsp;<a href="../../openbook/domain/PurchaseOrder.Status.html" title="enum in openbook.domain">PurchaseOrder.Status</a>&nbsp;getStatus()</pre>
<div class="block">Gets the status of this Purchase Order.</div>
</li>
</ul>
<a name="isDelivered()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDelivered</h4>
<pre>public&nbsp;boolean&nbsp;isDelivered()</pre>
</li>
</ul>
<a name="setDelivered()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDelivered</h4>
<pre>public&nbsp;void&nbsp;setDelivered()</pre>
<div class="block"><A name="setDelivered"/>
Sets the status of this Purchase Order as delivered.
Setting an order status as delivered nullifies the association to Line Items.
Nullifying this association has the important side-effect of Line Item records
be deleted from the database because the relation is annotated as orphan delete.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if this order has already been delivered.</dd></dl>
</li>
</ul>
<a name="getItems()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getItems</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../openbook/domain/LineItem.html" title="class in openbook.domain">LineItem</a>&gt;&nbsp;getItems()</pre>
<div class="block">Gets the items for this Purchase Order.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the line items of this order. The line items for a delivered order is always null.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../openbook/domain/PurchaseOrder.html#setDelivered()"><code>setDelivered()</code></a></dd></dl>
</li>
</ul>
<a name="getTotal()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotal</h4>
<pre>public&nbsp;double&nbsp;getTotal()</pre>
<div class="block">Gets the total cost of all the items in this order.</div>
</li>
</ul>
<a name="getPlacedOn()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlacedOn</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql">Timestamp</a>&nbsp;getPlacedOn()</pre>
<div class="block">Gets the time when this order was placed.</div>
</li>
</ul>
<a name="getDeliveredOn()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDeliveredOn</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</a>&nbsp;getDeliveredOn()</pre>
<div class="block">Gets the time when this order was delivered.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>null if the order has not been delivered yet.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/PurchaseOrder.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="../../openbook/domain/LineItem.LineItemId.html" title="class in openbook.domain"><span class="strong">Prev Class</span></a></li>
<li><a href="../../openbook/domain/PurchaseOrder.Status.html" title="enum in openbook.domain"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?openbook/domain/PurchaseOrder.html" target="_top">Frames</a></li>
<li><a href="PurchaseOrder.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&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><a href="#constructor_detail">Constr</a>&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; 2006&#x2013;2018 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>