public class Subscription extends Object implements Serializable
· authInfo: This optional argument is an element that contains an authentication token. Registries that wish to restrict who can save a subscription typically require authInfo for this call, though this is a matter of node policy.
· bindingKey: This optional argument of type anyURI specifies the bindingTemplate which the node is to use to deliver notifications to subscription listeners. It is only required when asynchronous notifications are used. This bindingTemplate MUST define either a Web service that implements notify_subscriptionListener (see below), or an email address to receive the notifications. If a notify_subscriptionListener Web service is identified, the node invokes it to deliver notifications. If an email address is identified, the node delivers notifications via email to the address supplied. When notifications are delivered via email, the body of the email contains the body of the SOAP message, which would have been sent to the notify_subscriptionListener service if that option had been chosen. The publisher making the subscription request MUST own the bindingTemplate. If this argument is not supplied, no notifications are sent, although subscribers may still use the get_subscriptionResults API to obtain subscription results. See Section 5.5.11 get_subscriptionResults for details. If email delivery to the specified address fails, nodes MAY attempt re-delivery, but are not obligated to do so. Depending upon node policy, excessive delivery failures MAY result in cancellation of the corresponding subscription.
· brief: This optional argument controls the level of detail returned to a subscription listener. The default is "false" when omitted. When set to "true," it indicates that the subscription results are to be returned to the subscriber in the form of a keyBag, listing all of the entities that matched the subscriptionFilter. Refer to Section 5.5.6 Use of keyBag in Subscription, for additional information. This option has no effect on the assertionStatusReport structure, which is returned as part of a notification when the subscriptionFilter specifies the get_assertionStatusReport filter criteria. See the explanation of subscriptionFilter below.
· expiresAfter: This optional argument allows subscribers to specify the period of time for which they would like the subscription to exist. It is of the XML Schema type xsd:dateTime. Specifying a value for this argument is no guarantee that the node will accept it without change. Information on the format of expiresAfter can be found in Section 5.5.1.1 Specifying Durations.
· maxEntities: This optional integer specifies the maximum number of entities in a notification returned to a subscription listener. If not specified, the number of entities sent is not limited, unless by node policy.
· subscriptionFilter: This argument specifies the filtering criteria which limits the scope of a subscription to a subset of registry records. It is required except when renewing an existing subscription. The get_xx and find_xx APIs are all valid choices for use as a subscriptionFilter. Only one of these can be chosen for each subscription. Notifications, based on the subscriptionFilter, are sent to the subscriber if and only if there are changes at the node, which match this criterion during a notification period. A subscriptionFilter MUST contain exactly one of the allowed inquiry elements. The authInfo argument of the specified get_xx or find_xx API call is not required here and is ignored if specified. All of the other arguments supported with each of these inquiry APIs are valid for use here.
Specifying find_relatedBusinesses is useful for tracking when reciprocal relationships are formed or dissolved. Specifying get_assertionStatusReport can be used in tracking when reciprocal relationships (which pertain to a business owned by the subscriber) are formed, dissolved, or requested by the owners of some other business.
For a get_assertionStatusReport based subscription, there is a specific status value, status:both_incomplete, defined in the XML schema. When appearing in an assertionStatusItem of a subscriptionResultsList, status:both_incomplete indicates that the publisher assertion embedded in the assertionStatusItem has been deleted from both ends.
Note that the above handling of deleted publisher assertions is different from the case when a business entity, business service, binding template, or tModel is removed. In the latter case, the key to the entity in question is simply put inside a keyBag. A publisher assertion, on the other hand, has no key and therefore the keyBag idea is not applicable.
· subscriptionKey: This optional argument of type anyURI identifies the subscription. To renew or change an existing subscription, a valid subscriptionKey MUST be provided. When establishing a new subscription, the subscriptionKey MAY also be either omitted or specified as an empty string in which case the node MUST assign a unique key. If subscriptionKey is specified for a new subscription, the key MUST conform to the registry’s policy on publisher-assigned keys.
· notificationInterval: This optional argument is only required when asynchronous notifications are used. It is of type xsd:duration and specifies how often change notifications are to be provided to a subscriber. If the notificationInterval specified is not acceptable due to node policy, then the node adjusts the value to match the next longer time period that is supported. The adjusted value is provided with the returns from this API. Also see Section 5.5.1.1 Specifying Durations.
Java class for subscription complex type.
The following schema fragment specifies the expected content contained within this class.
<complexType name="subscription"> <complexContent> <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <element ref="{urn:uddi-org:sub_v3}subscriptionKey" minOccurs="0"/> <element ref="{urn:uddi-org:sub_v3}subscriptionFilter" minOccurs="0"/> <element ref="{urn:uddi-org:api_v3}bindingKey" minOccurs="0"/> <element ref="{urn:uddi-org:sub_v3}notificationInterval" minOccurs="0"/> <element ref="{urn:uddi-org:sub_v3}maxEntities" minOccurs="0"/> <element ref="{urn:uddi-org:sub_v3}expiresAfter" minOccurs="0"/> </sequence> <attribute name="brief" type="{urn:uddi-org:sub_v3}brief" /> </restriction> </complexContent> </complexType>
Modifier and Type | Field and Description |
---|---|
protected String |
bindingKey |
protected Boolean |
brief |
protected XMLGregorianCalendar |
expiresAfter |
protected Integer |
maxEntities |
protected Duration |
notificationInterval |
protected SubscriptionFilter |
subscriptionFilter |
protected String |
subscriptionKey |
Constructor and Description |
---|
Subscription() |
Modifier and Type | Method and Description |
---|---|
String |
getBindingKey()
Gets the value of the bindingKey property.
|
XMLGregorianCalendar |
getExpiresAfter()
Gets the value of the expiresAfter property.
|
Integer |
getMaxEntities()
Gets the value of the maxEntities property.
|
Duration |
getNotificationInterval()
Gets the value of the notificationInterval property.
|
SubscriptionFilter |
getSubscriptionFilter()
Gets the value of the subscriptionFilter property.
|
String |
getSubscriptionKey()
Gets the value of the subscriptionKey property.
|
Boolean |
isBrief()
Gets the value of the brief property.
|
void |
setBindingKey(String value)
Sets the value of the bindingKey property.
|
void |
setBrief(Boolean value)
Sets the value of the brief property.
|
void |
setExpiresAfter(XMLGregorianCalendar value)
Sets the value of the expiresAfter property.
|
void |
setMaxEntities(Integer value)
Sets the value of the maxEntities property.
|
void |
setNotificationInterval(Duration value)
Sets the value of the notificationInterval property.
|
void |
setSubscriptionFilter(SubscriptionFilter value)
Sets the value of the subscriptionFilter property.
|
void |
setSubscriptionKey(String value)
Sets the value of the subscriptionKey property.
|
protected String subscriptionKey
protected SubscriptionFilter subscriptionFilter
protected String bindingKey
protected Duration notificationInterval
protected Integer maxEntities
protected XMLGregorianCalendar expiresAfter
protected Boolean brief
public String getSubscriptionKey()
String
public void setSubscriptionKey(String value)
value
- allowed object is
String
public SubscriptionFilter getSubscriptionFilter()
SubscriptionFilter
public void setSubscriptionFilter(SubscriptionFilter value)
value
- allowed object is
SubscriptionFilter
public String getBindingKey()
String
public void setBindingKey(String value)
value
- allowed object is
String
public Duration getNotificationInterval()
Duration
public void setNotificationInterval(Duration value)
value
- allowed object is
Duration
public Integer getMaxEntities()
Integer
public void setMaxEntities(Integer value)
value
- allowed object is
Integer
public XMLGregorianCalendar getExpiresAfter()
XMLGregorianCalendar
public void setExpiresAfter(XMLGregorianCalendar value)
value
- allowed object is
XMLGregorianCalendar
public Boolean isBrief()
Boolean
Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.