JXTA

net.jxta.impl.protocol
Class RouteAdv

java.lang.Object
  extended by net.jxta.document.Advertisement
      extended by net.jxta.document.ExtendableAdvertisement
          extended by net.jxta.protocol.RouteAdvertisement
              extended by net.jxta.impl.protocol.RouteAdv
All Implemented Interfaces:
Cloneable

public class RouteAdv
extends RouteAdvertisement
implements Cloneable

This class implements the basic Route advertisement.

    <xs:complexType name="RA">
      <xs:sequence>
          <xs:element name="DstPID" type="jxta:JXTAID" minOccurs="0"/>
          <xs:element name="Dst">
              <xs:complexType>
            <xs:sequence>
                      <xs:element ref="jxta:APA" />
            </xs:sequence>
              </xs:complexType>
        </xs:element>
        <xs:element name="Hops" minOccurs="0">
              <xs:complexType>
            <xs:sequence>
                      <xs:element ref="jxta:APA" maxOccurs="unbounded" />
            </xs:sequence>
              </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
 

See Also:
RouteAdvertisement

Nested Class Summary
static class RouteAdv.Instantiator
          Instantiator for our advertisement
 
Field Summary
 
Fields inherited from class net.jxta.protocol.RouteAdvertisement
DEST_PID_TAG
 
Method Summary
 RouteAdv clone()
          
 String getAdvType()
          Returns the identifying type of this Advertisement.
 Document getDocument(MimeMediaType encodeAs)
          Write this advertisement into a document of the requested type.
 String[] getIndexFields()
          Returns the element names on which this advertisement should be indexed.
protected  boolean handleElement(Element raw)
          Process an individual element from the document during parse.
 
Methods inherited from class net.jxta.protocol.RouteAdvertisement
addDestEndpointAddress, addDestEndpointAddresses, addDestEndpointAddresses, cleanupLoop, clearDestEndpointAddresses, cloneOnlyPIDs, containsHop, display, equals, getAdvertisementType, getBaseAdvType, getDest, getDestEndpointAddresses, getDestPeerID, getFirstHop, getHop, getHops, getID, getLastHop, getVectorHops, hasALoop, hashCode, newRoute, nextHop, removeDestEndpointAddress, removeDestEndpointAddresses, removeDestEndpointAddresses, removeHop, setDest, setDestEndpointAddresses, setDestPeerID, setFirstHop, setHops, setLastHop, size, stichRoute, stichRoute
 
Methods inherited from class net.jxta.document.ExtendableAdvertisement
handleAttribute
 
Methods inherited from class net.jxta.document.Advertisement
toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

clone

public RouteAdv clone()

Overrides:
clone in class RouteAdvertisement

getAdvType

public String getAdvType()
Returns the identifying type of this Advertisement. Unlike Advertisement.getAdvertisementType() this method will return the correct runtime type of an Advertisement object.

This implementation is provided for existing advertisements which do not provide their own implementation. In most cases you should provide your own implementation for efficiency reasons.

Overrides:
getAdvType in class Advertisement
Returns:
The identifying type of this Advertisement.

handleElement

protected boolean handleElement(Element raw)
Process an individual element from the document during parse. Normally, implementations will allow the base advertisements a chance to handle the element before attempting to handle the element themselves. ie.


  protected boolean handleElement(Element elem) {

      if (super.handleElement()) {
           // it's been handled.
           return true;
           }
      ... handle elements here ...

      // we don't know how to handle the element
      return false;
      }
  

Overrides:
handleElement in class ExtendableAdvertisement
Parameters:
raw - The element to be processed.
Returns:
true if the element was recognized, otherwise false.

getDocument

public Document getDocument(MimeMediaType encodeAs)
Write this advertisement into a document of the requested type. Two standard document forms are defined. "text/plain" encodes the document in a "pretty-print" format for human viewing and "text/xml" which provides an XML format.

We don't have any content to add, just build the document instance and return it to implementations that actually do something with it.

Overrides:
getDocument in class ExtendableAdvertisement
Parameters:
encodeAs - MimeMediaType format representation requested.
Returns:
The Advertisement represented as a Document of the requested MIME Media Type.

getIndexFields

public String[] getIndexFields()
Returns the element names on which this advertisement should be indexed.

Specified by:
getIndexFields in class Advertisement
Returns:
The element names on which this advertisement should be indexed.

JXSE