p2ps.imp.service
Class ServiceAdvertisementImp

java.lang.Object
  extended byp2ps.imp.service.ServiceAdvertisementImp
All Implemented Interfaces:
Advertisement, java.io.Serializable, ServiceAdvertisement

public class ServiceAdvertisementImp
extends java.lang.Object
implements ServiceAdvertisement

An implementation of the Pipe Advertisement interface

Version:
$Revision: 295 $
Author:
Ian Wang
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface p2ps.service.ServiceAdvertisement
CONTROL_PIPES_TAG, SERVICE_ADVERTISEMENT_TYPE, SERVICE_ID_TAG, SERVICE_NAME_TAG
 
Fields inherited from interface p2ps.discovery.Advertisement
ADVERT_ID_TAG, EXPIRY_DATE, PEER_ID_TAG
 
Constructor Summary
ServiceAdvertisementImp(Element root, AdvertisementFactory adfactory)
           
ServiceAdvertisementImp(java.lang.String advertid, java.lang.String peerid, java.lang.String servid)
           
 
Method Summary
 void addControlPipe(PipeAdvertisement advert)
          Sets the advertisement for this services control pipes
 java.lang.String getAdvertID()
           
 PipeAdvertisement getControlPipe(java.lang.String pipename)
           
 PipeAdvertisement[] getControlPipes()
           
 long getExpiryDate()
           
 java.lang.String getPeerID()
           
 java.lang.String getServiceID()
           
 java.lang.String getServiceName()
           
 java.lang.String getType()
           
 Element getXMLAdvert()
          Output the advert as an xml document
 Element getXMLEnvelope(long expdate)
           
 void removeControlPipe(PipeAdvertisement advert)
          Sets the advertisement for this services control pipes
 void setServiceID(java.lang.String id)
          Sets the name for this service
 void setServiceName(java.lang.String name)
          Sets the name for this service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceAdvertisementImp

public ServiceAdvertisementImp(java.lang.String advertid,
                               java.lang.String peerid,
                               java.lang.String servid)

ServiceAdvertisementImp

public ServiceAdvertisementImp(Element root,
                               AdvertisementFactory adfactory)
                        throws java.io.IOException
Method Detail

getType

public java.lang.String getType()
Specified by:
getType in interface Advertisement
Returns:
the type for this advertisement

getAdvertID

public java.lang.String getAdvertID()
Specified by:
getAdvertID in interface Advertisement
Returns:
the unique id for this advertisement

getPeerID

public java.lang.String getPeerID()
Specified by:
getPeerID in interface Advertisement
Returns:
the id of the peer that created this advertisement

getExpiryDate

public long getExpiryDate()
Specified by:
getExpiryDate in interface Advertisement
Returns:
the expiry date for this advertisement (-1 if not published)

getServiceName

public java.lang.String getServiceName()
Specified by:
getServiceName in interface ServiceAdvertisement
Returns:
the name of the service

setServiceName

public void setServiceName(java.lang.String name)
Sets the name for this service

Specified by:
setServiceName in interface ServiceAdvertisement

getServiceID

public java.lang.String getServiceID()
Specified by:
getServiceID in interface ServiceAdvertisement
Returns:
the id of the service

setServiceID

public void setServiceID(java.lang.String id)
Sets the name for this service

Specified by:
setServiceID in interface ServiceAdvertisement

getControlPipes

public PipeAdvertisement[] getControlPipes()
Specified by:
getControlPipes in interface ServiceAdvertisement
Returns:
the advertisements for the services control pipes

getControlPipe

public PipeAdvertisement getControlPipe(java.lang.String pipename)
Specified by:
getControlPipe in interface ServiceAdvertisement
Returns:
the pipe advertisement for the control pipe with the specified name

addControlPipe

public void addControlPipe(PipeAdvertisement advert)
Sets the advertisement for this services control pipes

Specified by:
addControlPipe in interface ServiceAdvertisement

removeControlPipe

public void removeControlPipe(PipeAdvertisement advert)
Sets the advertisement for this services control pipes

Specified by:
removeControlPipe in interface ServiceAdvertisement

getXMLAdvert

public Element getXMLAdvert()
                     throws java.io.IOException
Output the advert as an xml document

Specified by:
getXMLAdvert in interface Advertisement
Returns:
an XML element for advert
Throws:
java.io.IOException

getXMLEnvelope

public Element getXMLEnvelope(long expdate)
                       throws java.io.IOException
Specified by:
getXMLEnvelope in interface Advertisement
Parameters:
expdate -
Returns:
an XML element for the full enveloped advert (returns the same as getXMLAdvert if no envelope)
Throws:
java.io.IOException