|
Project JXTA | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.jxta.ext.config.Profile
A JXTA configurator that can parse an XML resource and in turn construct the
relevant PlatformConfig
.
All addresses are of the form URI. Addresses that do not specify a scheme
will be defaulted accordingly. Further, RendezVous
and Relay
addresses that do not specify a host wil be replaced with the corresponding
boostrap results. If a scheme is specified only bootstrap results with
matching schemes will be retained. All other addresses that do not specify a
host will, in turn, be replaced with the local host. All fields have backing
defaults enabling one to seed a configuration with a partial yet valid
resource file.
An example ResourceConfigurator"profile" is as follows:
<?xml version="1.0" encoding="utf-8" standalone="no"?> <!-- <!DOCTYPE xsd:schema SYSTEM "http://www.w3c.org/2001/XMLSchema.dtd"> --> <xsd:schema xmlns:jxta="http://www.jxta.org/net/jxta/ext/config" xmlns:xsd="http://www.w3c.org/2001/XMLSchema.dtd"> <xsd:annotation> <xsd:documentation xml:lang="en"> JXTA Configuration see http://www.jxta.org for more info. </xsd:documentation> </xsd:annotation> <xsd:complexType name="jxta"> <xsd:sequence> <xsd:element name="peer" type="jxta:Peer" minOccurs="1" maxOccurs="1"/> <xsd:element name="network" type="jxta:Network" minOccurs="1" maxOccurs="1"/> <xsd:element name="transport" type="jxta:Transport" minOccurs="1" maxOccurs="1"/> <xsd:element name="service" type="jxta:Service" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Peer"> <xsd:attribute name="name" type="xsd:string" use="optional"/> <xsd:attribute name="id" type="jxta:PeerID" use="optional"/> <xsd:attribute name="descriptor" type="xsd:string" use="optional"/> <xsd:attribute name="home" type="xsd:anyURI" use="optional" default="file://${user.home}/.jxta"/> <xsd:attribute name="trace" type="jxta:Trace" use="optional" default="user default"/> <xsd:sequence> <xsd:element name="description" type="jxta:Description" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="security" type="jxta:Security" minOccurs="0" maxOccurs="1"/> <xsd:element name="rootCert" type="jxta:RootCert" minOccurs="0" maxOccurs="1"/> <xsd:element name="proxy" type="jxta:ProxyAddress" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Network"> <xsd:sequence> <xsd:element name="rendezVous" type="jxta:RendezVous" minOccurs="0" maxOccurs="1"/> <xsd:element name="relays" type="jxta:Relays" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Transport"> <xsd:sequence> <xsd:element name="tcp" type="Tcp" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="http" type="Http" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Service"> <xsd:sequence> <xsd:element name="rendezVous" type="jxta:RendezVousService" minOccurs="0" maxOccurs="1"/> <xsd:element name="relay" type="jxta:RelayService" minOccurs="0" maxOccurs="1"/> <xsd:element name="endpoint" type="jxta:EndpointService" minOccurs="0" maxOccurs="1"/> <xsd:element name="proxy" type="jxta:ProxyService" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:complextType name="Configuration"> <xsd:sequence> <xsd:element name="optimizer" type="jxta:Optimizer" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complextType name="Configuration"> <xsd:sequence> <xsd:element name="optimizer" type="jxta:Optimizer" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:complexType> <xsd:complextType name="Configuration"> <xsd:sequence> <xsd:element name="optimizer" type="jxta:Optimizer" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="Trace"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="error"/> <xsd:enumeration value="warn"/> <xsd:enumeration value="info"/> <xsd:enumeration value="debug"/> <xsd:enumeration value="user default"/> </xsd:restriction> </xsd:simpleType> <xsd:complextType name="Description"> <xsd:all> </xsd:all> </xsd:complextType> <xsd:complexType name="Security"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="true"/> <xsd:attribute name="principal" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="RootCert"> <xsd:simpleContext> <xsd:extension base="xsd:string"> <xsd:attribute name="address" type="xsd:anyURI" use="optional"/> </xsd:extension> </xsd:simpleContext> </xsd:complexType> <xsd:complexType name="ProxyAddress"> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="RendezVous"> <xsd:attribute name="bootstrap" type="xsd:anyURI" use="optional"/> <xsd:attribute name="discovery" type="xsd:boolean" use="optional" default="true"/> <xsd:element name="address" type="jxta:Address" minOccurs="0" maxOccurs="unbounded" default="://"/> </xsd:complexType> <xsd:complexType name="Relays"> <xsd:attribute name="bootstrap" type="xsd:anyURI" use="optional"/> <xsd:attribute name="discovery" type="xsd:boolean" use="optional" default="true"/> <xsd:element name="address" type="jxta:Address" minOccurs="0" maxOccurs="unbounded" default="//:"/> </xsd:complexType> <xsd:element name="Address" type="xsd:anyURI"/> <xsd:complexType name="Tcp"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="true"/> <xsd:sequence> <xsd:element name="incoming" type="jxta:TransportEndpoint" minOccurs="0" maxOccurs="1"/> <xsd:element name="outgoing" type="jxta:TransportEndpoint" minOccurs="0" maxOccurs="1"/> <xsd:element name="TcpAddress" type="TcpAddress" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="publicAddress" type="jxta:PublicAddress" minOccurs="0" maxOccurs="unbounded" default="http://:"/> <xsd:element name="proxy" type="jxta:ProxyAddress" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Http"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="true"/> <xsd:sequence> <xsd:element name="incoming" type="jxta:TransportEndpoint" minOccurs="0" maxOccurs="1"/> <xsd:element name="outgoing" type="jxta:TransportEndpoint" minOccurs="0" maxOccurs="1"/> <xsd:element name="address" type="jxta:TransportAddress" minOccurs="0" maxOccurs="unbounded" default="http://:"/> <xsd:element name="publicAddress" type="jxta:PublicAddress" minOccurs="0" maxOccurs="unbounded" default="http://:"/> <xsd:element name="proxy" type="jxta:ProxyAddress" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TransportEndpoint"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:complexType name="TcpAddress"> <xsd:simpleContent> <xsd:extension bae="xsd:anyURI"> <xsd:attribute name="range" type="xsd:integer"> <xsd:restrictive> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="65535"/> </xsd:restrictive> </xsd:attribute> <xsd:sequence> <xsd:element name="multicast" type="jxta:MulticastAddress" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="TransportAddress"> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:attribute name="range" type="xsd:integer"> <xsd:restrictive> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="65535"/> </xsd:restrictive> </xsd:attribute> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complextType name="MulticastAddress"> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="true"/> <xsd:attribute name="size" type="xsd:nonNegativeInteger" use="optional" default="16384"/> </xsd:extension> </xsd:simpleContent> </xsd:complextType> <xsd:complexType name="PublicAddress"> <xsd:attribute name="exclusive" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:complexType name="RendezVousService"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> <xsd:sequence> <xsd:element name="autoStart" type="jxta:AutoStart" minOccurs="0" maxOccurs="1" default="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RelayService"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="queueSize" type="xsd:nonNegativeInterger" use="optional" default="100"/> <xsd:sequence> <xsd:element name="incoming" type="jxta:ServiceEndpoint" minOccurs="0" maxOccurs="1"/> <xsd:element name="outgoing" type="jxta:ServiceEndpoint" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="EndpointService"> <xsd:attribute name="queueSize" type="xsd:positiveInteger" use="optional" default="20"/> </xsd:complexType> <xsd:complexType name="ProxyService"> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:element name="AutoStart"> <xsd:simpleContent> <xsd:extension base="nonNegativeInteger"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> <xsd:complexType name="Optimzer"> <xsd:attribute name="class" type="xsd:string" use="required"/> <xsd:sequence> <xsd:element name="property" type="jxta:Property" minOccurs="0" maxOccurs="unbounded"/> </xsd:complexType> </xsd:complexType> <xsd:complexType name="Property"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:extension> </xsd:simpleContent> </xsd:element> <xsd:complexType name="ServiceEndpoint"> <xsd:attribute name="enabled" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="maximum" type="xsd:positiveInteger" use="optional" default="1"/> <xsd:attribute name="lease" type="xsd:positiveInteger" use="optional" default="7200000"/> </xsd:complexType> <xsd:complexType name="Optimizer"> <xsd:attribute name="class" type="xsd:string" use="required"/> <xsd:sequence> <xsd:element name="property" type="jxta:Property" minOccurs="0" maxOccurs="unbounded"/> </xsd:complexType> </xsd:complexType> <xsd:complexType name="Property"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:schema>
Nested Class Summary | |
static class |
Profile.Key
Container for resource keys in the form of XPath expressions. |
Field Summary | |
static Profile |
DEFAULT
Default profile. |
static Profile |
EDGE
Prototypical edge peer , i.e. no RendezVous or Relay service. |
static Profile |
EDGE_HTTP
Prototypical Http edge peer , i.e. no RendezVous or Relay service. |
static Profile |
EDGE_TCP
Prototypical Tcp edge peer , i.e. no RendezVous or Relay service. |
static Profile |
LOCAL
Local/loopback/standalone services. |
static Profile |
RELAY
Prototypical relay peer , i.e. provisions Relay services. |
static Profile |
RELAY_HTTP
Prototypical HTTP relay peer , i.e. provisions HTTP Relay services. |
static Profile |
RELAY_TCP
Prototypical TCP relay peer , i.e. provisions TCP Relay services. |
static Profile |
RENDEZVOUS
Prototypical rendezVous peer , i.e. provisions RendezVous services |
static Profile |
RENDEZVOUS_HTTP
Prototypical HTTP rendezVous peer , i.e. provisions HTTP RendezVous services |
static Profile |
RENDEZVOUS_TCP
Prototypical TCP rendezVous peer , i.e. provisions TCP RendezVous services |
protected static Profile |
SEED
Description of the Field |
static Profile |
SUPER
Prototypical super peer , i.e. provisions RendezVous and Relay services. |
static Profile |
SUPER_HTTP
Prototypical HTTP super peer , i.e. provisions HTTP RendezVous and Relay services. |
static Profile |
SUPER_TCP
Prototypical TCP super peer , i.e. provisions TCP RendezVous and Relay services. |
Constructor Summary | |
Profile(InputStream is)
|
|
Profile(URL profile)
Constructor for the Profile object. |
Method Summary | |
static void |
add(String name,
Profile profile)
Add a new, named profile to the list of available profiles |
static Profile |
get(String profile)
Instantiate a Profile for the named profile. |
protected Resource |
getProfile()
Gets the profile attribute of the Profile object |
static Iterator |
getProfiles()
Get unsorted list of names for available profiles |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final Profile EDGE
public static final Profile EDGE_TCP
public static final Profile EDGE_HTTP
public static final Profile SUPER
public static final Profile SUPER_TCP
public static final Profile SUPER_HTTP
public static final Profile RENDEZVOUS
public static final Profile RENDEZVOUS_TCP
public static final Profile RENDEZVOUS_HTTP
public static final Profile RELAY
public static final Profile RELAY_TCP
public static final Profile RELAY_HTTP
public static final Profile LOCAL
public static final Profile DEFAULT
EDGE
protected static final Profile SEED
Constructor Detail |
public Profile(URL profile)
profile
- profile locationpublic Profile(InputStream is)
Method Detail |
public static Profile get(String profile)
Profile
for the named profile.
profile
- profile name
public static Iterator getProfiles()
public static void add(String name, Profile profile)
name
- profile nameprofile
- profile to be addedprotected Resource getProfile()
|
JXTA J2SE | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |