Version: Beta-4.1.1-r5927-b91

OmeroBlitz Api
Home Previous Next Index

omero

Overview

module omero

Main module.

OMERO

The omero/ ice files are the central definitions of the blitz implementation. They provide an Ice facade over the existing OMERO.server architecture. Because of the increased overhead of creating implementations in multiple languages, the mappings are simplified and work mostly as simple data transfer objects. For more on the individual classes, see the slice definition files.

omero/model *.ice

The slice definitions under omero/model were themselves code-generated and are largely undocumented. Instead, this README helps one to understand just what those files mean.

Before each class definition, an Ice sequence is created of the form "FieldNameSeq". The annotation which precedes the sequence definition "java:type:java.util.ArrayList" changes the default mapping from a native Java array, to a List with generics. In C++, the sequence will become a typedef for vector.

The class itself will either subclass omero::model::IObject or another subclass of omero::model::IObject (defined in OMERO/IObject.ice). Otherwise, only fields are defined which will be made into public fields in all the language bindings. Note the "sequenceNameLoaded" fields which are used strictly to allow for marking the collection fields as "null" since Ice automatically converts nulls to empty collections.

It should be noted that the classes generated from this definition will be abstract because of the "unload()" method in the IObject superclass. When a method is defined on a class in slice, the resulting object is abstract, and a concrete implementation must be provided. This is done via the types ending in "I" (for implementation) in the omero::model package. An ObjectFactory is required to tell an Ice communicator how to map type names to concrete implementations.

RTypes

RType-sub"protected" classes permit both the passing of null values to OMERO.blitz, since the Ice protocol maps null values to default (the empty string, 0.0, etc.), and a simple implementation of an "Any" value.

Usage (C++):

omero::RBoolPtr b1 = new omero::RBool(true);
omero::RBoolPtr b2 = someObjPtr->getBool();
if (b2 && b2.val) { ... };
// the first test, checks if the pointer is null

Usage (Java):

omero.RBool b1 = new omero.RBool(true);
omero.RBool b2 = someObj.getBool();
if (b2!=null && b2.val) { ... };
// no operator overloading; check for null directly.

Module Index

api
The omero::api module defines all the central verbs for working with OMERO.blitz.
constants
Most client-intended constants are provided in this module.
grid
Types using the "Internal" infrastructure to allow storing useful types in the input/output environments of scripts.
licenses
metadatastore
Types used during import.
model
Code-generated types based on the OME Specification.
romio
Primitives for working with binary data.
sys
Various core types.

Class Index

Internal
Plane
Point
RArray
RCollection mapped to an array on the server of a type given by a random member of the RTypeSeq.
RBool
Boolean wrapper.
RClass
Extends RString and simply provides runtime information to the server that this string is intended as a "protected" class parameter.
RCollection
The collection "protected" classes permit the passing of sequences of all other RTypes (including other collections) and it is itself nullable.
RDouble
Double wrapper.
RFloat
Float wrapper.
RInt
Integer wrapper.
RInternal
Base type for RTypes whose contents will not be parsed by the server.
RList
RCollection mapped to a java.util.List on the server
RLong
Long Wrapper.
RMap
Similar to RCollection, the RMap class permits the passing of a possible null RTypeDict where any other RType is expected.
RObject
Wrapper for an model::IObject instance.
RSet
RCollection mapped to a java.util.HashSet on the server
RString
String wrapper.
RTime
A simple Time implementation.
RType
Simple base "protected" class.

Exception Index

ApiUsageException
AuthenticationException
Thrown when the information provided omero.createSession() or more specifically Glacier2.RouterPrx.createSession() is incorrect.
ConcurrencyException
Recoverable error caused by simultaneous access of some form.
ConcurrentModification
Too many simultaneous database users.
DatabaseBusyException
Too many simultaneous database users.
ExpiredCredentialException
Thrown when the password for a user has expried.
InternalException
Programmer error.
LockTimeout
Lock cannot be acquired and has timed out.
OmeroFSError
OmeroFSError Just one catch-all UserException for the present.
OptimisticLockException
Conflicting changes to the same piece of data.
OverUsageException
QueryException
RemovedSessionException
Session has been removed.
ResourceError
Unrecoverable error.
SecurityViolation
ServerError
SessionException
Base session exception, though in the OMERO.blitz implementation, all exceptions thrown by the Glacier2 must subclass CannotCreateSessionException.
SessionTimeoutException
Session has timed out and will be removed.
ShutdownInProgress
Server is in the progress of shutting down which will typically lead to the current session being closed.
ValidationException
WrappedCreateSessionException
Thrown when any other server exception causes the session creation to fail.

Sequence Index

Bytes2D
Types using the "Internal" infrastructure to allow storing useful types in the input/output environments of scripts.
RTypeSeq
Simple sequence of RType instances.

Dictionary Index

RTypeDict
Simple dictionary of RType instances.

Sequences

sequence<::Ice::ByteSeq> Bytes2D

Types using the "Internal" infrastructure to allow storing useful types in the input/output environments of scripts.

Used By

Plane::data
[ "java:type:java.util.ArrayList:java.util.List" ] sequence<RType> RTypeSeq

Simple sequence of RType instances. Note: when passing an RTypeSeq over the wire, null sequence is maintained and will be turned into an empty sequence. If nullability is required, see the RCollection types.

Used By

RCollection::addAll
RCollection::getValue
RCollection::val

See Also

RCollection
RTypeDict

Dictionaries

[ "java:type:java.util.HashMap" ] dictionary<string, RType> RTypeDict

Simple dictionary of RType instances. Note: when passing an RTypeDict over the wire, a null map will not be maintained and will be turned into an empty map. If nullability is required, see the RMap type.

Used By

RMap::getValue
RMap::val
api::IScript::getParams
api::IScript::getScriptWithDetails
api::IScript::runScript
grid::Table::getAllMetadata
grid::Table::getWhereList
grid::Table::setAllMetadata

Home Previous Next Index