Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

OpenOfficeJURT (Java Uno RunTime)


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.



Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.