Package omero.api

Interface ITimeline

  • All Superinterfaces:
    _ITimelineOperations, _ITimelineOperationsNC, _ServiceInterfaceOperations, _ServiceInterfaceOperationsNC, Ice.Object, ServiceInterface
    All Known Implementing Classes:
    _ITimelineDisp, _ITimelineTie

    public interface ITimeline
    extends Ice.Object, _ITimelineOperations, _ITimelineOperationsNC, ServiceInterface
    Service for the querying of OMERO metadata based on creation and modification time. Currently supported types for querying include:

    Return maps

    The map return values will be indexed by the short type name above: Project, Image, ... All keys which are passed in the StringSet argument will be included in the returned map, even if they have no values. A default value of 0 or the empty list \[] will be used. The only exception to this rule is that the null or empty StringSet implies all valid keys.

    Parameters

    All methods take a omero::sys::Parameters object and will apply the filter object for paging through the data in order to prevent loading too many objects. If the parameters argument is null or no paging is activated, then the default will be: OFFSET=0, LIMIT=50. Filter.ownerId and Filter.groupId will also be AND'ed to the query if either value is present. If both are null, then the current user id will be used. To retrieve for all users, use ownerId == rlong(-1) and groupId == null.

    Merging

    The methods which take a StringSet and a Parameters object, also have a bool merge argument. This argument defines whether or not the LIMIT applies to each object independently (\["a","b"] @ 100 == 200) or merges the lists together chronologically (\["a","b"] @ 100 merged == 100).

    Time used

    Except for Image, IObject.details.updateEvent is used in all cases for determining most recent events. Images are compared via Image.acquisitionDate which is unlike the other properties is modifiable by the user. A typical invocation might look like (in Python):
     
     timeline = sf.getTimelineService()
     params = ParametersI().page(0,100)
     types = \["Project","Dataset"])
     map = timeline.getByPeriod(types, params, False)
     
     
    At this point, map will not contain more than 200 objects. This service is defined only in Blitz and so no javadoc is available in the ome.api package. TODOS: binning, stateful caching, ...