- All Superinterfaces:
Object
Represents an IceStorm topic. Publishers publish data to a topic (via the topic's publisher object), and
subscribers subscribe to a topic.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.zeroc.Ice.Object
Object.Ice_invokeResult
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Destroys this topic.default CompletionStage<OutgoingResponse>
dispatch
(IncomingRequest request) Dispatches an incoming request to one of the methods of this generated interface, based on the operation name carried by the request.LinkInfo[]
getLinkInfoSeq
(Current current) Gets information on the current links.Gets the name of this topic.getNonReplicatedPublisher
(Current current) Gets a non-replicated proxy to a publisher object for this topic.getPublisher
(Current current) Gets a proxy to a publisher object for this topic.Identity[]
getSubscribers
(Current current) Gets the list of subscribers for this topic.static String
Gets the type ID of the associated Slice interface.void
Creates a link to another topic.Subscribes to this topic.void
Destroys a link from this topic to the provided topic.void
unsubscribe
(ObjectPrx subscriber, Current current) Unsubscribes the providedsubscriber
from this topic.
-
Method Details
-
getName
Gets the name of this topic.- Parameters:
current
- The Current object of the incoming request.- Returns:
- The name of the topic.
- See Also:
-
getPublisher
Gets a proxy to a publisher object for this topic. To publish data to a topic, a publisher calls this operation and then creates a proxy with the publisher type from this proxy. If a replicated IceStorm deployment is used, this call may return a replicated proxy.- Parameters:
current
- The Current object of the incoming request.- Returns:
- A proxy to publish data on this topic. This proxy is never null.
-
getNonReplicatedPublisher
Gets a non-replicated proxy to a publisher object for this topic. To publish data to a topic, a publisher calls this operation and then creates a proxy with the publisher type from this proxy.- Parameters:
current
- The Current object of the incoming request.- Returns:
- A proxy to publish data on this topic. This proxy is never null.
-
subscribeAndGetPublisher
ObjectPrx subscribeAndGetPublisher(Map<String, String> theQoS, ObjectPrx subscriber, Current current) throws AlreadySubscribed, BadQoSSubscribes to this topic.- Parameters:
theQoS
- The quality of service parameters for this subscription.subscriber
- The subscriber's proxy. This proxy cannot be null.current
- The Current object of the incoming request.- Returns:
- The per-subscriber publisher proxy. This proxy is never null.
- Throws:
AlreadySubscribed
- Thrown whensubscriber
is already subscribed.BadQoS
- Thrown whentheQoS
is unavailable or invalid.- See Also:
-
unsubscribe
Unsubscribes the providedsubscriber
from this topic.- Parameters:
subscriber
- A proxy to an existing subscriber. This proxy is never null.current
- The Current object of the incoming request.- See Also:
-
link
Creates a link to another topic. All events originating on this topic will also be sent to the other topic.- Parameters:
linkTo
- The topic to link to. This proxy cannot be null.cost
- The cost of the link.current
- The Current object of the incoming request.- Throws:
LinkExists
- Thrown when a link tolinkTo
already exists.
-
unlink
Destroys a link from this topic to the provided topic.- Parameters:
linkTo
- The topic to destroy the link to. This proxy cannot be null.current
- The Current object of the incoming request.- Throws:
NoSuchLink
- Thrown when a link tolinkTo
does not exist.
-
getLinkInfoSeq
Gets information on the current links.- Parameters:
current
- The Current object of the incoming request.- Returns:
- A sequence of LinkInfo objects.
-
getSubscribers
Gets the list of subscribers for this topic.- Parameters:
current
- The Current object of the incoming request.- Returns:
- The sequence of Ice identities for the subscriber objects.
-
destroy
Destroys this topic.- Parameters:
current
- The Current object of the incoming request.
-
ice_staticId
Gets the type ID of the associated Slice interface.- Returns:
- the string "::IceStorm::Topic"
-
dispatch
Dispatches an incoming request to one of the methods of this generated interface, based on the operation name carried by the request.- Specified by:
dispatch
in interfaceObject
- Parameters:
request
- the incoming request- Returns:
- the outgoing response
- Throws:
UserException
- if aUserException
is thrown, Ice will marshal it as the response payload.
-