Version: Beta-4.1.1-r5927-b91
OmeroBlitz Api
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