Contents
|
Introduction
Documentation
Base services
Base functionality
Java
integration
Remote API
How to write a protocol with the remote API
How to write a bridge with the remote API
|
Introduction
|
JURT is the core of Java-UNO and the Java
UNO language binding. It includes base functionality for accessing bridges/mappings
and environments. Also some basic components are placed here (like components
placed in stoc for binary uno).
Since JURT is still in a development process, so far in the documentation
(hierarchy for all packages)
only already final classes were considered. Therefore, you should visit
this Internet page after a certain time interval again.
|
Base
services
|
JURT provides the following services:
Service |
Description |
BridgeFactory |
Allows to create new or access existing interprocess bridges. |
ServiceManager |
Provides a collection of implementations for services. |
JavaLoader |
Makes it possible to access the services implemented in a Java class
file. |
Helper |
Allows to bootstrap a servicemanager with the jurt base components
registered. |
Security
/ Login |
Access control, login context |
UnoUrlResolver |
Provides the ability to access outer processes, resolving them by
their name. |
Acceptor/Connector |
The base connector and acceptor services are defined to delegate
to custom services. |
|
Base functionality
|
Base functionality of JURT is provided by the following
classes.
Class |
Description |
Ascii |
The Ascii class represents the IDL build in type ascii. |
AsciiString |
The AsciiString class represents the IDL build in type asciistring.
|
BridgeTurner |
This class inverts the direction of a given bridge. It is needed,
if a bridge of only one direction is available. |
IBridge |
This is abstract interface for Bridges. Bridges are able to map
one object from one environment to another and vice versa. |
IEnvironment |
This is the interface which environments have to implement. With
this interface objects can be registered and revoked from an environment.
This is class is derived from the binary UNO runtime environment. |
IMapping |
With a mapping objets can be mapped from one environment to another.
This interface exits for api compatibility reasons with binary UNO. |
IQueryInterface |
This is the delegator interface for objects implementing interfaces
for an underlying object. Call are delegated through the UnoRuntime
to this interface. |
MappingException
|
The mapping Exception. |
MappingWrapper |
This class wraps an IBridge to be a Mapping. |
UnoRuntime |
The UnoRuntime class is the central class needed for implementing
or using UNO components in Java.
The Methods queryInterface and isSame delegate calls to the implementing
objects and are used instead of casts and identity comparisons.
The other methods are used for managing bridges, which enable a
user to map objects out to or into java.
|
|
Java
integration
|
How to write integration stuff with the pure runtime?
In the following important classes of the Java Runtime are described.
Would you kindly note that these classes are still in a further development
process. Therefore the following Java classes can be subject to important
modifications (com.sun.star.lib.uno.*).
Java integration classes:
Class |
Description |
IRequester |
Through this interface proxies delegate their method
calls. |
Proxy |
The purpose of this class is to provide a ProxyFactory.
Proxies are needed to integrate objects of other environments seamsless
into Java. A proxy delegates all method calls to provided object. |
|
Remote
API
|
Similarly as the classes described above also the remote API is in the
development. Therefore the following Java classes can be subject to important
modifications (com.sun.star.lib.uno.*).
Class |
Description |
IProtocol |
This interface provides an abstraction for protocols
for remote bridges. |
Protocol |
This class implements the complete
IIOP protocol from corba. The functionality is reachable through the
IProtocol interface. |
IMarshal |
This interface provides an abstraction for protocols
for remote bridges. |
IUnmarshal |
This interface provides an abstraction
for protocols for remote bridges. |
IReceiver |
This interface is an abstraction for giving back a reply
for a request. |
Job |
The Job is an abstraction for tasks
which have to be done remotely because of a method invocation. |
IMessage |
The purpose of this class is to be an abstraction for
messages for remote communication. |
IThreadPool |
This interface is an abstraction of
the various threadpool implementations. |
ThreadID |
This is the global thread id. |
ThreadPool |
This class delegates to a specific
thread pool, which has to implement IThreadPool threadpool implementations. |
IThreadPoolFactory |
This class delegates to a specific thread pool, which
has to implement IThreadPool threadpool implementations. |
JavaThreadPool |
This class implements a java thread
pool. |
JavaThreadPoolFactory |
|
JobQueue |
The JobQueue implements a queue for
jobs. For every jobs thread id exists a job queue which is registered
at the ThreadPool. A JobQueue is splitted in a sync job queue and
an async job queue. The sync job queue is the registerd queue, it
delegates async jobs (put by putjob) into the async queue, which is
only known by the sync queue. |
NativeThreadPool |
This class wrapps the native uno thread pool. |
NativeThreadPoolWrapper |
This class wrapps the native uno thread
pool. |
ThreadPoolFactory |
This class delegates to a specific thread pool, which
has to implement IThreadPool threadpool implementations. |
remote_environment |
|
|
How
to write a protocol with the remote API?
|
The UNO
Remote Protocol is used to transmit UNO calls via process-boundaries
(comparable to iiop in CORBA). This protocol was primarily designed to
minimize the amount of transferred data for a series of oneway calls.
The protocol does not make any assumptions about how the data is transferred.
|
How
to write a bridge with the remote API?
|
The class java_remote_bridge implements
a remote bridge. Therefore various interfaces are implemented. The protocol
to use is passed by name, the bridge then looks for it under com.sun.star.lib.uno.protocols.
|
|
|
Author: Bertram
Nolte (Tue 12 Jun 2001 12:12:51)
Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA.
|
|