public abstract class ConsoleSession extends Object implements ServiceFactory<Object>
The console session must be registered as an OSGi service in order to be associated with a console instance. The console implementation will discover any console session services and will create a new console instance using the console session for input and output. When a session is closed then the console session service will be unregistered and the console instance will terminate and be disposed of. The console instance will also terminate if the console session service is unregistered for any reason.
| Constructor and Description |
|---|
ConsoleSession() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Called by the console implementation to free resources associated
with this console session.
|
protected abstract void |
doClose()
Called by the
close() method to free resources associated
with this console session. |
abstract InputStream |
getInput()
Returns the input for this console session.
|
abstract OutputStream |
getOutput()
Returns the output for this console session.
|
Object |
getService(Bundle bundle,
ServiceRegistration<Object> registration)
Creates a new service object.
|
void |
ungetService(Bundle bundle,
ServiceRegistration<Object> registration,
Object service)
Releases a service object.
|
public final void close()
protected abstract void doClose()
close() method to free resources associated
with this console session. For example, closing the streams
associated with the input and output for this session.public abstract InputStream getInput()
public abstract OutputStream getOutput()
public final Object getService(Bundle bundle, ServiceRegistration<Object> registration)
ServiceFactory
The Framework invokes this method the first time the specified
bundle requests a service object using the
BundleContext.getService(ServiceReference) method. The service
factory can then return a specific service object for each bundle.
The Framework must check that the returned service object is valid. If
the returned service object is null or is not an
instanceof all the classes named when the service was registered,
a framework event of type FrameworkEvent.ERROR is fired
containing a service exception of type
ServiceException.FACTORY_ERROR and null is returned to
the bundle. If this method throws an exception, a framework event of type
FrameworkEvent.ERROR is fired containing a service exception of
type ServiceException.FACTORY_EXCEPTION with the thrown exception
as the cause and null is returned to the bundle. If this method
is recursively called for the specified bundle, a framework event of type
FrameworkEvent.ERROR is fired containing a service exception of
type ServiceException.FACTORY_RECURSION and null is
returned to the bundle.
The Framework caches the valid service object and will return the same
service object on any future call to BundleContext.getService for
the specified bundle. This means the Framework must not allow this method
to be concurrently called for the specified bundle.
getService in interface ServiceFactory<Object>bundle - The bundle requesting the service.registration - The ServiceRegistration object for the
requested service.BundleContext.getService(ServiceReference)public final void ungetService(Bundle bundle, ServiceRegistration<Object> registration, Object service)
ServiceFactoryThe Framework invokes this method when a service has been released by a bundle. The service object may then be destroyed.
If this method throws an exception, a framework event of type
FrameworkEvent.ERROR is fired containing a service exception of
type ServiceException.FACTORY_EXCEPTION with the thrown exception
as the cause.
ungetService in interface ServiceFactory<Object>bundle - The bundle releasing the service.registration - The ServiceRegistration object for the
service being released.service - The service object returned by a previous call to the
getService
method.BundleContext.ungetService(ServiceReference)Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.