JXTA

net.jxta.impl.protocol
Class PeerGroupConfigAdv

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

public final class PeerGroupConfigAdv
extends ExtendableAdvertisement
implements Cloneable

Defines Peer Group Runtime Configuration parameters.

This typically includes the peer group ID to use, the peer group name (if any) to use, and optional descriptive meta-data.


   NetPeerGroupID=uuid-59313231343132314A484431544E504702
   PeerGroupName=Network Infrastructure PeerGroup
   PeerGroupDesc=Infrastructure Group Description
 


Nested Class Summary
static class PeerGroupConfigAdv.Instantiator
          Instantiator for PeerGroupConfigAdv
 
Method Summary
 PeerGroupConfigAdv clone()
          Make a safe clone of this PeerGroupConfigAdv.
static String getAdvertisementType()
          Returns the identifying type of this Advertisement.
 String getAdvType()
          Returns the identifying type of this Advertisement.
 String getBaseAdvType()
          Returns the base type of this advertisement hierarchy.
 XMLDocument getDesc()
          returns the description
 String getDescription()
          returns the description
 Document getDocument(MimeMediaType encodeAs)
          Write this advertisement into a document of the requested type.
 ID getID()
          Returns an ID which identifies this Advertisement as uniquely as possible.
 String[] getIndexFields()
          Returns the element names on which this advertisement should be indexed.
 String getName()
          Gets the name to use for the peer group.
 ID getPeerGroupID()
          Returns the id of the peer group.
protected  boolean handleElement(Element raw)
          Process an individual element from the document during parse.
 void setDesc(XMLElement desc)
          Sets the description
 void setDescription(String description)
          sets the description
 void setName(String name)
          Sets the name to use for the peer group.
 void setPeerGroupID(ID gid)
          Sets the id of the peer group.
 
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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getAdvertisementType

public static String getAdvertisementType()
Returns the identifying type of this Advertisement.

Note: This is a static method. It cannot be used to determine the runtime type of an advertisement. ie.

      Advertisement adv = module.getSomeAdv();
      String advType = adv.getAdvertisementType();
  

This is wrong and does not work the way you might expect. This call is not polymorphic and calls Advertisement.getAdvertisementType() no matter what the real type of the advertisement.

Returns:
String the type of 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.

clone

public PeerGroupConfigAdv clone()
Make a safe clone of this PeerGroupConfigAdv.

Overrides:
clone in class Advertisement
Returns:
Object A copy of this PeerGroupConfigAdv

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.

getBaseAdvType

public final String getBaseAdvType()
Returns the base type of this advertisement hierarchy. Typically, only the most basic advertisement of a type will implement this method and declare it as final.

Specified by:
getBaseAdvType in class ExtendableAdvertisement
Returns:
String the base type of advertisements in this hierarchy.

getID

public ID getID()
Returns an ID which identifies this Advertisement as uniquely as possible. This ID is typically used as the primary key for indexing of the Advertisement within databases.

Each advertisement sub-class must choose an appropriate implementation which returns canonical and relatively unique ID values for it's instances. Since this ID is commonly used for indexing, the IDs returned must be as unique as possible to avoid collisions. The value for the ID returned can either be:

For Advertisement types which normally return non-ID.nullID values no ID should be returned when asked to generate an ID while the Advertisement is an inconsistent state (example: uninitialized index fields). Instead IllegalStateException should be thrown.

Specified by:
getID in class Advertisement
Returns:
An ID that relatively uniquely identifies this advertisement or ID.nullID if this advertisement is of a type that is not normally indexed.

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.

getPeerGroupID

public ID getPeerGroupID()
Returns the id of the peer group.

Returns:
ID the group id

setPeerGroupID

public void setPeerGroupID(ID gid)
Sets the id of the peer group.

Parameters:
gid - The id of this group.

getName

public String getName()
Gets the name to use for the peer group.

Returns:
The name value

setName

public void setName(String name)
Sets the name to use for the peer group.

Parameters:
name - The new name value

getDescription

public String getDescription()
returns the description

Returns:
String the description

setDescription

public void setDescription(String description)
sets the description

Parameters:
description - the description

getDesc

public XMLDocument getDesc()
returns the description

Returns:
the description

setDesc

public void setDesc(XMLElement desc)
Sets the description

Parameters:
desc - the description

JXSE