Package de.uni_koeln.spinfo.tesla.runtime.component.annotations

Classes

interface  AccessAdapter
interface  Author
class  ChoiceRestriction
interface  Component
interface  Configuration
class  ConfigurationException
interface  Configure
interface  Description
interface  Exportable
interface  Hint
interface  Licence
class  NoRestriction
interface  OutputAdapter
interface  Reader
interface  Restriction
interface  RoleDescription
interface  Run
class  ServerResourcesChoice
class  ServerSubclassChoice
interface  SignalAdapter
interface  SignalId
interface  SignalInputAdapter
class  Util
class  ZippedServerResourcesChoice

Enumerations

enum  Display { RECOMMENDED, SUPPORTED, NOT_SUPPORTED, UNDEFINED }
enum  ThreadMode { NOT_SUPPORTED, INSTANCE_PER_SIGNAL, THREAD_PER_SIGNAL, CUSTOM }

Enumeration Type Documentation

enum Display

Enum to define which methods should be called when data is serialized for visualization and export.

See also:
Hint
Author:
sschwieb
Enumerator:
RECOMMENDED 

Indicates that a method should be called when data is visualized or exported.

SUPPORTED 

Indicates that a method can be called when data is visualized or exported, but is deactivated by default.

NOT_SUPPORTED 

Indicates that a method must not be called when data is visualized.

UNDEFINED 

Default value if no value has been set.

enum ThreadMode

Thread modes for TeslaComponent's. Currently, the only supported mode is ThreadMode#NOT_SUPPORTED, which means that your component will not be parallelized by Tesla. However, ThreadMode#INSTANCE_PER_SIGNAL makes progress and will be supported soon.

Author:
sschwieb
Enumerator:
NOT_SUPPORTED 

The component does not support multithreading.

INSTANCE_PER_SIGNAL 

The component supports multithreading: One instance per signal will be created.
Technical note to developers:Although this feature seems to be an easy way to implement parallel processing, it is not! Sometimes it is not useful to use parallel processing at all: If, for instance, your component produces heaps of annotations, such that the persistence backend is already at its limits with a single-threaded component. However, if you decide to use the ThreadMode#INSTANCE_PER_SIGNAL, be sure (and double-check!) that your component works signal-based. Tesla will only manipulate calls to IAccessAdapter#getAllSignalIds() and to fields injected via SignalAdapter, but it will NOT do mysterious things: Calling a method like IAccessAdapter#getAllAnnotations(Class) will return annotations which NOT bound to a subset of the signals your component is processing.

THREAD_PER_SIGNAL 

Currently, this mode is ignored (and interpreted as ThreadMode#NOT_SUPPORTED. It will be mostly like ThreadMode#INSTANCE_PER_SIGNAL, but with one shared TeslaComponent for all Threads. It could be useful if, for instance, a component does lookups in a large Map, which does not have to be re-created for different instances.

CUSTOM 

Work in progress, behaviour might change. I wouldn't use it if I'd be you...