public interface ISession extends ServiceInterface
Session
creation service for OMERO. Access to
all other services is dependent upon a properly created and still active
Session
.
The session's
uuid
can be
considered a capability token, or temporary single use password. Simply by
possessing it the client has access to all information available to the
Session
.
Note: Both the RMI ServiceFactory
as well as the Ice
omero.api.ServiceFactoryPrx
use ISession
to acquire a
Session
. In the RMI case, the ISession
instance is the first
remote proxy accessed. In the Ice case, Glacier2 contacts ISession
itself and returns a ServiceFactory remote proxy. From both ServiceFactory
instances, it is possible but not necessary to access ISession
.Modifier and Type | Method and Description |
---|---|
int |
closeSession(Session session)
Closes session and releases all resources.
|
Session |
createSession(Principal principal,
java.lang.String credentials)
Creates a new session and returns it to the user.
|
Session |
createSessionWithTimeout(Principal principal,
long timeToLiveMilliseconds)
|
Session |
createSessionWithTimeouts(Principal principal,
long timeToLiveMilliseconds,
long timeToIdleMilliseconds)
|
Session |
createUserSession(long timeToLiveMilliseconds,
long timeToIdleMillisecond,
java.lang.String defaultGroup)
Allows a user to open up another session for him/herself with the given
defaults without needing to re-enter password.
|
java.lang.Object |
getInput(java.lang.String session,
java.lang.String key)
Retrieves an entry from the given
session's input
environment. |
java.util.Set<java.lang.String> |
getInputKeys(java.lang.String session)
Retrieves all keys in the
session's input environment. |
java.util.Map<java.lang.String,java.lang.Object> |
getInputs(java.lang.String session)
Retrieves all inputs from the given
session's input
environment. |
java.util.List<Session> |
getMyOpenAgentSessions(java.lang.String agent)
Like
getMyOpenSessions() but returns only those sessions
with the given agent string. |
java.util.List<Session> |
getMyOpenClientSessions()
Like
getMyOpenSessions() but returns only those sessions
started by official OMERO clients. |
java.util.List<Session> |
getMyOpenSessions()
Returns a list of open sessions for the current user.
|
java.lang.Object |
getOutput(java.lang.String session,
java.lang.String key)
Retrieves an entry from the
session's output environment. |
java.util.Set<java.lang.String> |
getOutputKeys(java.lang.String session)
Retrieves all keys in the
sesson's output environment. |
java.util.Map<java.lang.String,java.lang.Object> |
getOutputs(java.lang.String session)
Retrieves all outputs from the given
session's input
environment. |
int |
getReferenceCount(java.lang.String sessionUuid)
Retrieves the current reference count for the given uuid.
|
Session |
getSession(java.lang.String sessionUuid)
Retrieves the session associated with this uuid, updating the last access
time as well.
|
void |
setInput(java.lang.String session,
java.lang.String key,
java.lang.Object objection)
Places an entry in the given
session's input environment. |
void |
setOutput(java.lang.String session,
java.lang.String key,
java.lang.Object objection)
Places an entry in the given
session's output
environment. |
Session createUserSession(long timeToLiveMilliseconds, long timeToIdleMillisecond, java.lang.String defaultGroup)
Session createSessionWithTimeout(Principal principal, long timeToLiveMilliseconds)
principal
- Non-null Principal
with the target user's nametimeToLiveMilliseconds
- The time that this Session
has until destruction. This
is useful to override the server default so that an initial
delay before the user is given the token will not be construed
as idle time. A value less than 1 will cause the default max
timeToLive to be used; but timeToIdle will be disabled.Session createSessionWithTimeouts(Principal principal, long timeToLiveMilliseconds, long timeToIdleMilliseconds)
principal
- Non-null Principal
with the target user's nametimeToLiveMilliseconds
- The time that this Session
has until destruction.
Setting the value to 0 will prevent destruction unless the
session remains idle.timeToIdleMilliseconds
- The time that this Session
can remain idle before
being destroyed. Setting the value to 0 will prevent idleness
based destruction.Session createSession(Principal principal, java.lang.String credentials)
ApiUsageException
- if principal is nullSecurityViolation
- if the password check failsSession getSession(java.lang.String sessionUuid)
RemovedSessionException
if not present, or
a SessionTimeoutException
if expired.
This method can be used as a Session
ping.int getReferenceCount(java.lang.String sessionUuid)
getSession(String)
.int closeSession(Session session)
java.util.List<Session> getMyOpenSessions()
java.util.List<Session> getMyOpenAgentSessions(java.lang.String agent)
getMyOpenSessions()
but returns only those sessions
with the given agent string.java.util.List<Session> getMyOpenClientSessions()
getMyOpenSessions()
but returns only those sessions
started by official OMERO clients.java.lang.Object getInput(java.lang.String session, java.lang.String key)
session's
input
environment.java.util.Set<java.lang.String> getInputKeys(java.lang.String session)
session's
input environment.session
- Set
of keysjava.util.Map<java.lang.String,java.lang.Object> getInputs(java.lang.String session)
session's
input
environment.void setInput(java.lang.String session, java.lang.String key, java.lang.Object objection)
session's
input environment.
If the value is null, the key will be removed.java.util.Set<java.lang.String> getOutputKeys(java.lang.String session)
sesson's
output environment.java.lang.Object getOutput(java.lang.String session, java.lang.String key)
session's
output environment.java.util.Map<java.lang.String,java.lang.Object> getOutputs(java.lang.String session)
session's
input
environment.void setOutput(java.lang.String session, java.lang.String key, java.lang.Object objection)
session's
output
environment. If the value is null, the key will be removed.
Version: 5.4.10-ice35-b105
Copyright © 2019 The University of Dundee & Open Microscopy Environment. All Rights Reserved.