Interface | Description |
---|---|
ChannelWriteCallback |
Called by the ChannelHandler once a write is completed.
|
Collector<I,O> |
A collector can be written from one thread and read from another and provides
the point where two subsystems and their rate can be decoupled.
|
DataSourceTypeAdapter<ConnectionPayload,MessagePayload> |
Matches and fills a cache with the data from connection and message payloads.
|
DataSourceTypeAdapterSet |
A set of type adapters.
|
ExpressionLanguage.OneArgFunction<R,A> |
A user provided single argument function.
|
ExpressionLanguage.TwoArgFunction<R,A1,A2> |
A user provided double argument function.
|
PVReader<T> |
An object representing the PVReader.
|
PVReaderListener<T> |
Callback for any change in the PV value.
|
PVWriter<T> |
An object representing a writable PV.
|
PVWriterListener<T> |
Callback for delivery notification of new value.
|
ReadFunction<R> |
A basic building block in the PVManager framework that can return a result
of a given type.
|
ValueCache<T> |
Represent a building block that can store a particular value
|
WriteFunction<A> |
A basic building block in the PVManager framework that can write an object
of a given type.
|
Class | Description |
---|---|
Aggregator<R,A> |
Aggregates the data out of a Collector into a new data type.
|
BasicTypeSupport |
Implements support for basic standard java types.
|
CacheCollector<T> |
Collects value at read rate and keeps the last n.
|
ChannelHandler |
Manages the connection for each channel of a data source.
|
ChannelHandlerReadSubscription |
Groups all the parameters required to add a reader to a ChannelHandler.
|
ChannelHandlerWriteSubscription |
Groups all the parameters required to add a writer to a ChannelHandler.
|
ChannelReadRecipe |
The recipe for the read connection to a single channel.
|
ChannelWriteRecipe |
The recipe for the write connection to a single channel.
|
CompositeDataSource |
A data source that can dispatch a request to multiple different
data sources.
|
ConnectionCollector |
A specialized collector to handle multiple channels that can be added/removed
dynamically and which gets translated to a single connection flag for a
reader or writer.
|
DataSource |
A source for data that is going to be processed by the PVManager.
|
DataSourceTypeSupport |
The type support for a datasource.
|
ExceptionHandler |
This class receives all the exceptions generated by a PV.
|
ExpressionLanguage |
Operators to constructs expression of PVs that the
PVManager will
be able to monitor. |
ExpressionLanguage.Filter<T> |
Filters a data stream, removing updates that match the given function.
|
ForwardCache<T,R> |
A cache that, after a value is put in the given value cache, calculates
the value of the forward function and stores it in the forward writer, while
locking on the forward function.
|
LatestValueCollector<T> |
A collector that keeps only the latest value.
|
MultiplexedChannelHandler<ConnectionPayload,MessagePayload> |
Implements a
ChannelHandler on top of a single subscription and
multiplexes all reads on top of it. |
Notification<T> |
Used by
NotificationSupport to communicate whether a new notification
is needed, and what should be the type to be notified. |
NotificationSupport<T> |
Dedicated notification type support.
|
PV<R,W> |
A PV that can be both read and written.
|
PVConfiguration<R,W> |
Allows to configure the type of read/write PV to create.
|
PVDirector<T> |
Orchestrates the different elements of pvmanager to make a reader functional.
|
PVManager | |
PVReaderConfiguration<T> |
An expression used to set the final parameters on how the pv expression
should be read.
|
PVReaderEvent<T> |
An event for the reader.
|
PVWriterConfiguration<T> |
An expression used to set the final parameters on how the pv expression
should be written.
|
PVWriterDirector<T> |
Orchestrates the different elements of pvmanager to make a writer functional.
|
PVWriterEvent<T> |
An event for the writer.
|
QueueCollector<T> |
Collects value at read rate and puts them in a queue.
|
ReadExpressionTester | |
ReadRecipe |
Represents all the information necessary to connect to a
DataSource . |
ReadRecipeBuilder |
Builder class for
ReadRecipe . |
TypeSupport<T> |
Implements the mechanism for registering different types so that the library
knows how to handle them.
|
ValueCacheImpl<T> |
Represent a building block that can store a particular value
|
WriteCache<T> |
Represent part of the write recipe that holds the value for one pv.
|
WriteExpressionTester | |
WriteRecipe |
Represents all the values, channel names and ordering information needed
for writing
|
WriteRecipeBuilder |
A builder for
WriteRecipe . |
Exception | Description |
---|---|
TimeoutException |
You can find examples in link org.epics.pvmanager.sample
package.
We stopped including examples in the documentation itself because they tend
to become stale. We link to actual code that is part of the build, so that
there is more of a guarantee that they stay correct
There are two distinct parts in the PVManager framework. The first part
includes all the elements that deal with data directly: read from various
sources (DataSource
), performing computation (ReadFunction
),
collecting data (Collector
), scanning at the UI rate (org.epics.pvmanager.PVReaderDirector
)
and notify on appropriate threads.
The second part consists of an expression language that allows to define
how to connect the first set of objects with each other. SourceRateExpression
describes data as it's coming out at the network rate, DesiredRateExpression
defines data at the scanning rate for the UI, and ExpressionLanguage
defines static methods that define the operator in the expression language.
Users can extend both the first part (by extending support for different types, providing different support for different data source or creating new computation elements) and the second part (by extending the language to support other cases. All support for data types is relegated to separate packages: you can use the same style to extend the framework to your needs.
Copyright © 2010–2015. All rights reserved.