|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.epics.pvmanager.PV<R,W>
R
- type of the read payloadW
- type of the write payloadpublic class PV<R,W>
A PV that can be both read and written. In general, the read payload will be different from the write payload.
Method Summary | |
---|---|
void |
addPVReaderListener(java.lang.Class<?> clazz,
PVReaderListener listener)
Adds a listener to the value, which is notified only if the value is of a given type. |
void |
addPVReaderListener(PVReaderListener listener)
Adds a listener to the value. |
void |
addPVWriterListener(PVWriterListener listener)
Adds a listener to the value. |
void |
close()
De-registers all listeners, stops all notifications and closes all connections from the data sources needed by this. |
java.lang.String |
getName()
Returns the name of the PVReader. |
R |
getValue()
Returns the value of the PVReader. |
boolean |
isClosed()
True if no more notifications are going to be sent for this PVReader. |
boolean |
isConnected()
True if the reader is connected. |
boolean |
isPaused()
Whether the reader is paused. |
java.lang.Exception |
lastException()
Returns the last exception that was generated preparing the value for this PVReader and clears it (subsequent call will return null). |
java.lang.Exception |
lastWriteException()
Returns the last exception that was generated by write operations and clears it (subsequent call will return null). |
void |
removePVReaderListener(PVReaderListener listener)
Removes a listener to the value. |
void |
removePVWriterListener(PVWriterListener listener)
Removes a listener to the value. |
void |
setPaused(boolean paused)
Pauses or resumes the reader notifications. |
void |
write(W newValue)
Writes a new value. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public void addPVWriterListener(PVWriterListener listener)
PVWriter
addPVWriterListener
in interface PVWriter<W>
listener
- a new listenerpublic void removePVWriterListener(PVWriterListener listener)
PVWriter
removePVWriterListener
in interface PVWriter<W>
listener
- the old listenerpublic void write(W newValue)
PVWriter
write
in interface PVWriter<W>
public java.lang.Exception lastWriteException()
PVWriter
lastWriteException
in interface PVWriter<W>
public void addPVReaderListener(PVReaderListener listener)
PVReader
addPVReaderListener
in interface PVReader<R>
listener
- a new listenerpublic void addPVReaderListener(java.lang.Class<?> clazz, PVReaderListener listener)
PVReader
addPVReaderListener
in interface PVReader<R>
clazz
- type to filter notifications forlistener
- a new listenerpublic void removePVReaderListener(PVReaderListener listener)
PVReader
removePVReaderListener
in interface PVReader<R>
listener
- the old listenerpublic java.lang.String getName()
PVReader
getName
in interface PVReader<R>
public R getValue()
PVReader
PVReaderListener
.
getValue
in interface PVReader<R>
public void close()
PVReader
close
in interface PVReader<R>
close
in interface PVWriter<W>
public boolean isClosed()
PVReader
isClosed
in interface PVReader<R>
isClosed
in interface PVWriter<W>
public java.lang.Exception lastException()
PVReader
lastException
in interface PVReader<R>
public boolean isPaused()
PVReader
isPaused
in interface PVReader<R>
public void setPaused(boolean paused)
PVReader
Note that since notifications may still be in flight, you may receive notifications after setting the pause state to on. The paused flag on the reader, though, is changed immediately.
setPaused
in interface PVReader<R>
paused
- whether the reader should be paused or notpublic boolean isConnected()
PVReader
Currently, a reader is defined as connected if all the channels are connected. This means that you still may get updates even if this method returns false. You can use this method to determine whether your notification comes from a complete set.
When using VType
s, you should use the Alarm
interface to
get the connection status. This scales when you get aggregates, such
as lists or maps of channels. This method does obviously not scale functionally
since, in an aggregate, it can't tell you which channel of the set
is connected or not.
isConnected
in interface PVReader<R>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |