| <!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) on Sun Aug 28 20:41:43 EST 2016 --> | |
| <title>BasicObjectEndpoint (Apache River v3.0.0 Specification-only API Documentation)</title> | |
| <meta name="date" content="2016-08-28"> | |
| <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="BasicObjectEndpoint (Apache River v3.0.0 Specification-only API Documentation)"; | |
| } | |
| } | |
| catch(err) { | |
| } | |
| //--> | |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10}; | |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/BasicObjectEndpoint.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="../../../net/jini/jeri/BasicJeriTrustVerifier.html" title="class in net.jini.jeri"><span class="typeNameLink">Prev Class</span></a></li> | |
| <li><a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri"><span class="typeNameLink">Next Class</span></a></li> | |
| </ul> | |
| <ul class="navList"> | |
| <li><a href="../../../index.html?net/jini/jeri/BasicObjectEndpoint.html" target="_top">Frames</a></li> | |
| <li><a href="BasicObjectEndpoint.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: </li> | |
| <li>Nested | </li> | |
| <li>Field | </li> | |
| <li><a href="#constructor.summary">Constr</a> | </li> | |
| <li><a href="#method.summary">Method</a></li> | |
| </ul> | |
| <ul class="subNavList"> | |
| <li>Detail: </li> | |
| <li>Field | </li> | |
| <li><a href="#constructor.detail">Constr</a> | </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">net.jini.jeri</div> | |
| <h2 title="Class BasicObjectEndpoint" class="title">Class BasicObjectEndpoint</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>net.jini.jeri.BasicObjectEndpoint</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>, <a href="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</a>, <a href="../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</a></dd> | |
| </dl> | |
| <hr> | |
| <br> | |
| <pre>public final class <span class="typeNameLabel">BasicObjectEndpoint</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="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</a>, <a href="../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</a>, <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">References a remote object with an <a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri"><code>Endpoint</code></a> for | |
| sending requests to the object and a <a href="../../../net/jini/id/Uuid.html" title="class in net.jini.id"><code>Uuid</code></a> to identify | |
| the object at that <code>Endpoint</code>. | |
| <p>In addition to the <code>Endpoint</code> and the | |
| <code>Uuid</code>, <code>BasicObjectEndpoint</code> instances also | |
| contain a flag indicating whether or not the instance participates | |
| in distributed garbage collection (DGC). | |
| <p>The <a href="../../../net/jini/jeri/BasicObjectEndpoint.html#newCall-net.jini.core.constraint.InvocationConstraints-"><code>newCall</code></a> method can be used to send a | |
| request to the remote object that this object references. | |
| <h4>Distributed Garbage Collection</h4> | |
| The <code>BasicObjectEndpoint</code> class acts as the <i>DGC | |
| client</i> for all of its instances that participate in DGC (which | |
| are called live remote references). That is, it tracks the | |
| existence and reachability of live remote references and makes | |
| <i>dirty calls</i> and <i>clean calls</i> to the associated | |
| server-side DGC implementations, as described below. | |
| <p>The server-side behavior of dirty and clean calls is specified | |
| by <a href="../../../net/jini/jeri/BasicJeriExporter.html" title="class in net.jini.jeri"><code>BasicJeriExporter</code></a>. When the DGC client makes a dirty or | |
| clean call to a given <code>Endpoint</code>, the behavior is | |
| effectively that of using a <code>BasicObjectEndpoint</code> | |
| containing that <code>Endpoint</code> and the object identifier | |
| <code>d32cd1bc-273c-11b2-8841-080020c9e4a1</code> (and that doesn't | |
| itself participate in DGC), wrapped in a <a href="../../../net/jini/jeri/BasicInvocationHandler.html" title="class in net.jini.jeri"><code>BasicInvocationHandler</code></a> with no client or server | |
| constraints, wrapped in an instance of a dynamic proxy class that | |
| implements an interface with the following remote methods: | |
| <pre> | |
| long dirty(Uuid clientID, long sequenceNum, Uuid[] ids) | |
| throws <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi"><code>RemoteException</code></a>; | |
| void clean(Uuid clientID, long sequenceNum, Uuid[] ids, boolean strong) | |
| throws RemoteException; | |
| </pre> | |
| <code>clientID</code> is the DGC client's universally unique | |
| identifier, which is generated using <a href="../../../net/jini/id/UuidFactory.html#generate--"><code>UuidFactory.generate</code></a>. <code>sequenceNum</code> identifies the | |
| sequence number of the dirty or clean call with respect to all | |
| other dirty and clean calls made by the same DGC client (regardless | |
| of the <code>Endpoint</code> that the calls are made to). All | |
| dirty and clean calls made by a DGC client must have a unique | |
| sequence number that monotonically increases with the temporal | |
| order of the states (of reachable live remote references) that the | |
| calls assert. A dirty call asserts that live remote references | |
| with the called <code>Endpoint</code> and each of the object | |
| identifiers in <code>ids</code> exist for the identified DGC | |
| client. A clean call asserts that there are no (longer) live | |
| remote references with the called <code>Endpoint</code> and each of | |
| the object identifiers in <code>ids</code> for the identified DGC | |
| client. | |
| <p>The tracked live remote references are categorized by their | |
| <code>Endpoint</code> and further categorized by their object | |
| identifier (with the <code>Endpoint</code> and object identifier | |
| pair identifying a remote object). When a new live remote | |
| reference is created, either by construction or deserialization, it | |
| is remembered among the live remote references with the same | |
| <code>Endpoint</code> and object identifier, and its reachability | |
| is tracked with a phantom reference. If there is not already a | |
| live remote reference with the same <code>Endpoint</code> and | |
| object identifier, the DGC client makes a dirty call to the | |
| server-side DGC implementation at that <code>Endpoint</code>, with | |
| that object identifier in the <code>ids</code> argument. Dirty | |
| calls for multiple newly created live remote references with the | |
| same <code>Endpoint</code> may be batched as one dirty call (such | |
| as for multiple live remote references deserialized from the same | |
| stream). | |
| <p>Each successful dirty call establishes or renews a lease for the | |
| DGC client with the server-side DGC implementation at the | |
| <code>Endpoint</code> that the dirty call was made to. The | |
| duration of the lease granted by the server is conveyed as the | |
| return value of the dirty call, in milliseconds starting from some | |
| time during the processing of the dirty call. While there are live | |
| remote references with a given <code>Endpoint</code>, the DGC | |
| client attempts to maintain a valid lease with that | |
| <code>Endpoint</code> by renewing its lease with successive dirty | |
| calls. The DGC client should take into consideration network and | |
| processing latencies of the previous dirty call and the next | |
| required dirty call in choosing when to renew a lease. If the DGC | |
| client has reason to assume that its lease with a given | |
| <code>Endpoint</code> might have expired, then in subsequent dirty | |
| calls to that <code>Endpoint</code>, it should include the object | |
| identifiers of all currently reachable live remote references with | |
| that <code>Endpoint</code>. If a dirty call returns a negative | |
| lease duration or throws a <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/NoSuchObjectException.html?is-external=true" title="class or interface in java.rmi"><code>NoSuchObjectException</code></a>, the DGC | |
| client should refrain from making further dirty calls to the same | |
| <code>Endpoint</code> until a new live remote reference with that | |
| <code>Endpoint</code> is created. | |
| <p>If a dirty call fails with a communication exception other than | |
| a <code>NoSuchObjectException</code>, the DGC client implementation | |
| should make a reasonable effort to retry the dirty call (in a | |
| network-friendly manner). Also, after such a failed dirty call for | |
| a given <code>Endpoint</code> and object identifier, any clean call | |
| that is made for that same <code>Endpoint</code> and object | |
| identifier within a reasonable amount of time should pass | |
| <code>true</code> for the <code>strong</code> argument, in case the | |
| failed dirty call does eventually get delivered to the server after | |
| such a clean call has been processed. | |
| <p>When the last remaining live remote reference with a given | |
| <code>Endpoint</code> and object identifier is detected to be | |
| phantom reachable, the DGC client makes a clean call to the | |
| server-side DGC implementation at that <code>Endpoint</code>, with | |
| that object identifier in the <code>ids</code> argument. Clean | |
| calls for several object identifiers at the same | |
| <code>Endpoint</code> may be batched as one clean call (such as | |
| when multiple live remote references with the same | |
| <code>Endpoint</code> and different object identifiers are detected | |
| to be phantom reachable at the same time). | |
| <p>If a clean call fails with a communication exception other than | |
| a <code>NoSuchObjectException</code>, the DGC client implementation | |
| should make a reasonable effort to retry the clean call, in a | |
| network-friendly manner, especially while the DGC client's lease | |
| for the <code>Endpoint</code> remains valid (or while dirty calls | |
| for the same <code>Endpoint</code> succeed).</div> | |
| <dl> | |
| <dt><span class="simpleTagLabel">Since:</span></dt> | |
| <dd>2.0</dd> | |
| <dt><span class="simpleTagLabel">Author:</span></dt> | |
| <dd>Sun Microsystems, Inc.</dd> | |
| <dt><span class="seeLabel">See Also:</span></dt> | |
| <dd><a href="../../../serialized-form.html#net.jini.jeri.BasicObjectEndpoint">Serialized Form</a></dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="summary"> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> | |
| <ul class="blockList"> | |
| <li class="blockList"><a name="constructor.summary"> | |
| <!-- --> | |
| </a> | |
| <h3>Constructor Summary</h3> | |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> | |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> | |
| <tr> | |
| <th class="colOne" scope="col">Constructor and Description</th> | |
| </tr> | |
| <tr class="altColor"> | |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#BasicObjectEndpoint-net.jini.jeri.Endpoint-net.jini.id.Uuid-boolean-">BasicObjectEndpoint</a></span>(<a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</a> ep, | |
| <a href="../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a> id, | |
| boolean enableDGC)</code> | |
| <div class="block">Creates a new <code>BasicObjectEndpoint</code> to reference a | |
| remote object at the specified <code>Endpoint</code> with the | |
| specified <code>Uuid</code>.</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="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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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="../../../net/jini/jeri/BasicObjectEndpoint.html#checkTrustEquivalence-java.lang.Object-">checkTrustEquivalence</a></span>(<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> obj)</code> | |
| <div class="block">Returns <code>true</code> if the specified object (which is not | |
| yet known to be trusted) is equivalent in trust, content, and | |
| function to this known trusted object, and <code>false</code> | |
| otherwise.</div> | |
| </td> | |
| </tr> | |
| <tr id="i1" class="rowColor"> | |
| <td class="colFirst"><code>boolean</code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#equals-java.lang.Object-">equals</a></span>(<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> obj)</code> | |
| <div class="block">Compares the specified object with this | |
| <code>BasicObjectEndpoint</code> for equality.</div> | |
| </td> | |
| </tr> | |
| <tr id="i2" class="altColor"> | |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#executeCall-net.jini.jeri.OutboundRequest-">executeCall</a></span>(<a href="../../../net/jini/jeri/OutboundRequest.html" title="interface in net.jini.jeri">OutboundRequest</a> call)</code> | |
| <div class="block">Synchronously executes a remote call in progress to the | |
| identified remote object, so that the response can be read.</div> | |
| </td> | |
| </tr> | |
| <tr id="i3" class="rowColor"> | |
| <td class="colFirst"><code>boolean</code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#getEnableDGC--">getEnableDGC</a></span>()</code> | |
| <div class="block">Returns <code>true</code> if this | |
| <code>BasicObjectEndpoint</code> participates in DGC and | |
| <code>false</code> otherwise.</div> | |
| </td> | |
| </tr> | |
| <tr id="i4" class="altColor"> | |
| <td class="colFirst"><code><a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</a></code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#getEndpoint--">getEndpoint</a></span>()</code> | |
| <div class="block">Returns the <code>Endpoint</code> for the referenced remote | |
| object.</div> | |
| </td> | |
| </tr> | |
| <tr id="i5" class="rowColor"> | |
| <td class="colFirst"><code><a href="../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a></code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#getObjectIdentifier--">getObjectIdentifier</a></span>()</code> | |
| <div class="block">Returns the object identifier for the referenced remote object.</div> | |
| </td> | |
| </tr> | |
| <tr id="i6" class="altColor"> | |
| <td class="colFirst"><code>int</code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#hashCode--">hashCode</a></span>()</code> | |
| <div class="block">Returns the hash code value for this | |
| <code>BasicObjectEndpoint</code>.</div> | |
| </td> | |
| </tr> | |
| <tr id="i7" class="rowColor"> | |
| <td class="colFirst"><code><a href="../../../net/jini/jeri/OutboundRequestIterator.html" title="interface in net.jini.jeri">OutboundRequestIterator</a></code></td> | |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/jeri/BasicObjectEndpoint.html#newCall-net.jini.core.constraint.InvocationConstraints-">newCall</a></span>(<a href="../../../net/jini/core/constraint/InvocationConstraints.html" title="class in net.jini.core.constraint">InvocationConstraints</a> constraints)</code> | |
| <div class="block">Returns an <code>OutboundRequestIterator</code> to use to send | |
| a new remote call to the referenced remote object using the | |
| specified constraints.</div> | |
| </td> | |
| </tr> | |
| <tr id="i8" class="altColor"> | |
| <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="../../../net/jini/jeri/BasicObjectEndpoint.html#toString--">toString</a></span>()</code> | |
| <div class="block">Returns a string representation of this | |
| <code>BasicObjectEndpoint</code>.</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 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#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#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#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-int-" 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="BasicObjectEndpoint-net.jini.jeri.Endpoint-net.jini.id.Uuid-boolean-"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockListLast"> | |
| <li class="blockList"> | |
| <h4>BasicObjectEndpoint</h4> | |
| <pre>public BasicObjectEndpoint(<a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</a> ep, | |
| <a href="../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a> id, | |
| boolean enableDGC)</pre> | |
| <div class="block">Creates a new <code>BasicObjectEndpoint</code> to reference a | |
| remote object at the specified <code>Endpoint</code> with the | |
| specified <code>Uuid</code>.</div> | |
| <dl> | |
| <dt><span class="paramLabel">Parameters:</span></dt> | |
| <dd><code>ep</code> - the endpoint to send remote call requests for the | |
| remote object to</dd> | |
| <dd><code>id</code> - the object identifier for the remote object</dd> | |
| <dd><code>enableDGC</code> - flag indicating whether or not the | |
| <code>BasicObjectEndpoint</code> participates in DGC</dd> | |
| <dt><span class="throwsLabel">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 <code>e</code> or | |
| <code>id</code> is <code>null</code></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="newCall-net.jini.core.constraint.InvocationConstraints-"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>newCall</h4> | |
| <pre>public <a href="../../../net/jini/jeri/OutboundRequestIterator.html" title="interface in net.jini.jeri">OutboundRequestIterator</a> newCall(<a href="../../../net/jini/core/constraint/InvocationConstraints.html" title="class in net.jini.core.constraint">InvocationConstraints</a> constraints)</pre> | |
| <div class="block">Returns an <code>OutboundRequestIterator</code> to use to send | |
| a new remote call to the referenced remote object using the | |
| specified constraints. | |
| <p>The constraints must be the complete, absolute constraints | |
| for the remote call, combining any client and server | |
| constraints for the remote method being invoked, with no | |
| relative time constraints. | |
| <p>For each <a href="../../../net/jini/jeri/OutboundRequest.html" title="interface in net.jini.jeri"><code>OutboundRequest</code></a> produced by the returned | |
| <code>OutboundRequestIterator</code>, after writing the request | |
| data and before reading any response data, <a href="../../../net/jini/jeri/ObjectEndpoint.html#executeCall-net.jini.jeri.OutboundRequest-"><code>executeCall</code></a> must be invoked to execute the call. | |
| <p>This method first invokes <a href="../../../net/jini/jeri/Endpoint.html#newRequest-net.jini.core.constraint.InvocationConstraints-"><code>newRequest</code></a> on this <code>BasicObjectEndpoint</code>'s | |
| contained <code>Endpoint</code> with the specified constraints | |
| to obtain an <code>OutboundRequestIterator</code>. It then | |
| wraps the obtained iterator in another | |
| <code>OutboundRequestIterator</code> and returns the wrapped | |
| iterator. | |
| <p>The methods of the returned | |
| <code>OutboundRequestIterator</code> behave as follows: | |
| <p><a href="../../../net/jini/jeri/OutboundRequestIterator.html#hasNext--"><code>boolean hasNext()</code></a>: | |
| <blockquote> | |
| <p>Returns <code>true</code> if this iterator supports making | |
| at least one more attempt to communicate the remote call, and | |
| <code>false</code> otherwise. | |
| <p>This method invokes <code>hasNext</code> on the underlying | |
| iterator and returns the result. | |
| <p>The security context in which this method is invoked may be | |
| used for subsequent verification of security permissions; see | |
| the <a href="../../../net/jini/jeri/OutboundRequestIterator.html#next--"><code>next</code></a> method | |
| specification for more details. | |
| </blockquote> | |
| <p><a href="../../../net/jini/jeri/OutboundRequestIterator.html#next--"><code>OutboundRequest next()</code></a>: | |
| <blockquote> | |
| <p>Initiates an attempt to communicate the remote call to the | |
| referenced remote object. | |
| <p>This method invokes <code>next</code> on the underlying | |
| iterator to obtain an <code>OutboundRequest</code>. Then it | |
| writes the object identifier of the | |
| <code>BasicObjectEndpoint</code> that produced this iterator to | |
| the request's output stream by invoking <a href="../../../net/jini/id/Uuid.html#write-java.io.OutputStream-"><code>Uuid.write(OutputStream)</code></a> with the | |
| request output stream, and then it returns the request. | |
| <p>Throws <a href="http://docs.oracle.com/javase/6/docs/api/java/util/NoSuchElementException.html?is-external=true" title="class or interface in java.util"><code>NoSuchElementException</code></a> if this iterator does | |
| not support making another attempt to communicate the remote | |
| call (that is, if <code>hasNext</code> would return | |
| <code>false</code>). | |
| <p>Throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> if an <code>IOException</code> is | |
| thrown by the invocation of <code>next</code> on the underlying | |
| iterator or by the subsequent I/O operations. | |
| <p>Throws <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang"><code>SecurityException</code></a> if a | |
| <code>SecurityException</code> is thrown by the invocation of | |
| <code>next</code> on the underlying iterator or by the | |
| subsequent I/O operations. | |
| </blockquote></div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> | |
| <dd><code><a href="../../../net/jini/jeri/ObjectEndpoint.html#newCall-net.jini.core.constraint.InvocationConstraints-">newCall</a></code> in interface <code><a href="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</a></code></dd> | |
| <dt><span class="paramLabel">Parameters:</span></dt> | |
| <dd><code>constraints</code> - the complete, absolute constraints</dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd>an <code>OutboundRequestIterator</code> to use to send | |
| a new remote call to the referenced remote object</dd> | |
| <dt><span class="throwsLabel">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 <code>constraints</code> is | |
| <code>null</code></dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="executeCall-net.jini.jeri.OutboundRequest-"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>executeCall</h4> | |
| <pre>public <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a> executeCall(<a href="../../../net/jini/jeri/OutboundRequest.html" title="interface in net.jini.jeri">OutboundRequest</a> call) | |
| throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> | |
| <div class="block">Synchronously executes a remote call in progress to the | |
| identified remote object, so that the response can be read. | |
| <p>This method should be passed an <code>OutboundRequest</code> | |
| that was produced by an <code>OutboundRequestIterator</code> | |
| returned from this object's <a href="../../../net/jini/jeri/ObjectEndpoint.html#newCall-net.jini.core.constraint.InvocationConstraints-"><code>newCall</code></a> method. | |
| This method must be invoked after writing the request data to | |
| and before reading any response data from the | |
| <code>OutboundRequest</code>. | |
| <p>If the remote call was successfully executed (such that the | |
| response data may now be read) this method returns | |
| <code>null</code>. This method returns a non-<code>null</code> | |
| <code>RemoteException</code> to indicate a | |
| <code>RemoteException</code> that the remote call should fail | |
| with. For example, if the referenced object does not exist at | |
| the remote endpoint, a <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/NoSuchObjectException.html?is-external=true" title="class or interface in java.rmi"><code>NoSuchObjectException</code></a> will be | |
| returned. This method throws an <code>IOException</code> for | |
| other communication failures. | |
| <p>This method reads a byte from the response input stream of | |
| <code>call</code>. If an <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> is thrown reading | |
| the byte, that exception is thrown to the caller. If reading | |
| the byte otherwise indicates EOF, an <a href="http://docs.oracle.com/javase/6/docs/api/java/io/EOFException.html?is-external=true" title="class or interface in java.io"><code>EOFException</code></a> is | |
| thrown to the caller. If the byte is <code>0x00</code>, then | |
| this method returns a <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/NoSuchObjectException.html?is-external=true" title="class or interface in java.rmi"><code>NoSuchObjectException</code></a> indicating | |
| that there is no remote object exported with the object | |
| identifier at the remote endpoint. If the byte is | |
| <code>0x01</code>, then this method returns <code>null</code>, | |
| indicating that a remote object corresponding to the object | |
| identifier and endpoint is exported, and thus the caller may | |
| proceed to read the response of the remote call. If the byte | |
| is any other value, this method returns an <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/UnmarshalException.html?is-external=true" title="class or interface in java.rmi"><code>UnmarshalException</code></a> indicating that a protocol error occurred.</div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> | |
| <dd><code><a href="../../../net/jini/jeri/ObjectEndpoint.html#executeCall-net.jini.jeri.OutboundRequest-">executeCall</a></code> in interface <code><a href="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</a></code></dd> | |
| <dt><span class="paramLabel">Parameters:</span></dt> | |
| <dd><code>call</code> - the remote call to execute, produced by an | |
| <code>OutboundRequestIterator</code> that was returned from | |
| <code>newCall</code></dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd><code>null</code> on success, or a | |
| <code>RemoteException</code> if the remote call should fail | |
| with that <code>RemoteException</code></dd> | |
| <dt><span class="throwsLabel">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 <code>call</code> is | |
| <code>null</code></dd> | |
| <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O exception occurs while performing | |
| this operation</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="getEndpoint--"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>getEndpoint</h4> | |
| <pre>public <a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</a> getEndpoint()</pre> | |
| <div class="block">Returns the <code>Endpoint</code> for the referenced remote | |
| object.</div> | |
| <dl> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd>the <code>Endpoint</code> for the referenced remote | |
| object</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="getObjectIdentifier--"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>getObjectIdentifier</h4> | |
| <pre>public <a href="../../../net/jini/id/Uuid.html" title="class in net.jini.id">Uuid</a> getObjectIdentifier()</pre> | |
| <div class="block">Returns the object identifier for the referenced remote object.</div> | |
| <dl> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd>the object identifier for the referenced remote object</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="getEnableDGC--"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>getEnableDGC</h4> | |
| <pre>public boolean getEnableDGC()</pre> | |
| <div class="block">Returns <code>true</code> if this | |
| <code>BasicObjectEndpoint</code> participates in DGC and | |
| <code>false</code> otherwise.</div> | |
| <dl> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd><code>true</code> if this | |
| <code>BasicObjectEndpoint</code> participates in DGC and | |
| <code>false</code> otherwise</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="hashCode--"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>hashCode</h4> | |
| <pre>public int hashCode()</pre> | |
| <div class="block">Returns the hash code value for this | |
| <code>BasicObjectEndpoint</code>.</div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> | |
| <dd><code><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></code> in class <code><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></code></dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd>the hash code value for this | |
| <code>BasicObjectEndpoint</code></dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="equals-java.lang.Object-"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>equals</h4> | |
| <pre>public boolean equals(<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> obj)</pre> | |
| <div class="block">Compares the specified object with this | |
| <code>BasicObjectEndpoint</code> for equality. | |
| <p>This method returns <code>true</code> if and only if | |
| <ul> | |
| <li>the specified object is also a | |
| <code>BasicObjectEndpoint</code>, | |
| <li>the object identifier and <code>enableDGC</code> flag in | |
| the specified object are equal to the ones in this object, and | |
| <li>the <code>Endpoint</code> in the specified object has | |
| the same class and is equal to the one in this object. | |
| </ul></div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> | |
| <dd><code><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></code> in class <code><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></code></dd> | |
| <dt><span class="paramLabel">Parameters:</span></dt> | |
| <dd><code>obj</code> - the object to compare with</dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd><code>true</code> if <code>obj</code> is equivalent to | |
| this object; <code>false</code> otherwise</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="checkTrustEquivalence-java.lang.Object-"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockList"> | |
| <li class="blockList"> | |
| <h4>checkTrustEquivalence</h4> | |
| <pre>public boolean checkTrustEquivalence(<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> obj)</pre> | |
| <div class="block">Returns <code>true</code> if the specified object (which is not | |
| yet known to be trusted) is equivalent in trust, content, and | |
| function to this known trusted object, and <code>false</code> | |
| otherwise. | |
| <p>This method returns <code>true</code> if and only if | |
| <ul> | |
| <li>the specified object is also a | |
| <code>BasicObjectEndpoint</code>, | |
| <li>the object identifier and <code>enableDGC</code> flag in | |
| the specified object are equal to the ones in this object, and | |
| <li>this object's <code>Endpoint</code> is an instance of | |
| <a href="../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust"><code>TrustEquivalence</code></a> and invoking its | |
| <code>checkTrustEquivalence</code> method with the specified | |
| object's <code>Endpoint</code> returns <code>true</code>. | |
| </ul></div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> | |
| <dd><code><a href="../../../net/jini/security/proxytrust/TrustEquivalence.html#checkTrustEquivalence-java.lang.Object-">checkTrustEquivalence</a></code> in interface <code><a href="../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</a></code></dd> | |
| <dt><span class="paramLabel">Parameters:</span></dt> | |
| <dd><code>obj</code> - object to check that is not yet known to be trusted</dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd><code>true</code> if the specified object (that is not yet | |
| known to be trusted) is equivalent in trust, content, and function to | |
| this known trusted object, and returns <code>false</code> otherwise</dd> | |
| </dl> | |
| </li> | |
| </ul> | |
| <a name="toString--"> | |
| <!-- --> | |
| </a> | |
| <ul class="blockListLast"> | |
| <li class="blockList"> | |
| <h4>toString</h4> | |
| <pre>public <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> toString()</pre> | |
| <div class="block">Returns a string representation of this | |
| <code>BasicObjectEndpoint</code>.</div> | |
| <dl> | |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> | |
| <dd><code><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></code> in class <code><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></code></dd> | |
| <dt><span class="returnLabel">Returns:</span></dt> | |
| <dd>a string representation of this | |
| <code>BasicObjectEndpoint</code></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/BasicObjectEndpoint.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="../../../net/jini/jeri/BasicJeriTrustVerifier.html" title="class in net.jini.jeri"><span class="typeNameLink">Prev Class</span></a></li> | |
| <li><a href="../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri"><span class="typeNameLink">Next Class</span></a></li> | |
| </ul> | |
| <ul class="navList"> | |
| <li><a href="../../../index.html?net/jini/jeri/BasicObjectEndpoint.html" target="_top">Frames</a></li> | |
| <li><a href="BasicObjectEndpoint.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: </li> | |
| <li>Nested | </li> | |
| <li>Field | </li> | |
| <li><a href="#constructor.summary">Constr</a> | </li> | |
| <li><a href="#method.summary">Method</a></li> | |
| </ul> | |
| <ul class="subNavList"> | |
| <li>Detail: </li> | |
| <li>Field | </li> | |
| <li><a href="#constructor.detail">Constr</a> | </li> | |
| <li><a href="#method.detail">Method</a></li> | |
| </ul> | |
| </div> | |
| <a name="skip.navbar.bottom"> | |
| <!-- --> | |
| </a></div> | |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> | |
| </body> | |
| </html> |