Package org.jacoco.core.data

## Class SessionInfoStore

- java.lang.Object
- - org.jacoco.core.data.SessionInfoStore

All Implemented Interfaces:
  `ISessionInfoVisitor`

    public class SessionInfoStore
    extends java.lang.Object
    implements ISessionInfoVisitor

Container to collect and merge session `SessionInfo` objects. A instance of this class is not thread safe.

### Constructor Summary

Constructors
`SessionInfoStore()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `accept​(ISessionInfoVisitor visitor)` Writes all contained `SessionInfo` objects into the given visitor.
`java.util.List<SessionInfo>` `getInfos()` Returns all `SessionInfo` objects currently contained in the store.
`SessionInfo` `getMerged​(java.lang.String id)` Returns a new session info with the given id that contains a merged version from all contained version.
`boolean` `isEmpty()` Tests whether the store is empty.
`void` `visitSessionInfo​(SessionInfo info)` Provides session information for the subsequent execution data calls.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SessionInfoStore

    public SessionInfoStore()

### Method Detail

#### isEmpty

    public boolean isEmpty()

Tests whether the store is empty.

Returns:
  `true` if the store is empty

#### getInfos

    public java.util.List<SessionInfo> getInfos()

Returns all `SessionInfo` objects currently contained in the store. The info objects are ordered by its natural ordering (i.e. by the dump time stamp).

Returns:
  list of stored `SessionInfo` objects

#### getMerged

    public SessionInfo getMerged​(java.lang.String id)

Returns a new session info with the given id that contains a merged version from all contained version. The start timestamp is the minimum of all contained sessions, the dump timestamp the maximum of all contained sessions. If no session is currently contained both timestamps are set to `0`.

Parameters:
  `id` - identifier for the merged session info
Returns:
  new `SessionInfo` object

#### accept

    public void accept​(ISessionInfoVisitor visitor)

Writes all contained `SessionInfo` objects into the given visitor. The info objects are emitted in chronological order by dump timestamp.

Parameters:
  `visitor` - visitor to emit `SessionInfo` objects to

#### visitSessionInfo

    public void visitSessionInfo​(SessionInfo info)

Description copied from interface: `ISessionInfoVisitor`
Provides session information for the subsequent execution data calls. In case of merged sessions this method might be called multiple times.

Specified by:
  `visitSessionInfo` in interface `ISessionInfoVisitor`
Parameters:
  `info` - session information