javax.tv.service.selection.doc-files.select-xlets.html Maven / Gradle / Ivy
Use of select(Locator[]) with Service-Bound Xlets
Use of select(Locator[]) with Service-Bound Xlets
In some specifications incorporating Java TV, there is no mechanism to obtain the ServiceComponent
that refers to xlets associated with the current service. Similarly,
there may be no mechanism for obtaining a locator to a service
component that represents a set of xlets that are part of a service.
For this reason, the handling of service-bound xlets with this method
is subject to some rather special rules.
If locators to xlets are listed then the specified xlets will be
started or will continue running, according to the normal rules of
starting and stopping xlets. Other running xlets in the service context
will be stopped, as is consistent with the normal rules of running
xlets. If no locators to xlets are passed in this method, then the
results depend on whether the instance of ServiceContext
is the xlet’s “primary” service context or not.
If the instance of ServiceContext
represents the service context in which the calling xlet is running, then it is called the “primary
service context.” An xlet may obtain its primary service context by passing its XletContext
to ServiceContextFactory.getServiceContext(XletContext)
. The primary service context also appears in the list of service contexts returned by ServiceContextFactory.getServiceContexts()
.
For the primary service context only,
when selection succeeds in a call where no locators to xlets passed as
arguments, the terminal will select the same xlets as would be selected
by calling select(Service)
on the service of which the
specified service components are members. For example, the
components belong to the same service as is currently being presented,
then there will be no change to the running xlets.
In some specifications incorporating Java TV, an xlet may obtain instances of ServiceContext
that are not the xlet’s primary service
context. For such ServiceContext
instances, there is no
special handling of the xlet service components. Thus, if no locators
to xlets are passed in as argument, xlets running in that service
context are stopped, and no new xlets are launched.