Package org.epics.ca
Class BaseV3Channel
- java.lang.Object
-
- org.epics.ca.BaseV3Channel
-
- All Implemented Interfaces:
gov.aps.jca.event.ConnectionListener
,EventListener
,V3Channel
,Channel
,ChannelFind
,org.epics.pvdata.pv.Requester
public class BaseV3Channel extends Object implements ChannelFind, Channel, V3Channel, gov.aps.jca.event.ConnectionListener
Base class that implements V3Channel.- Author:
- mrk
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.epics.pvaccess.client.Channel
Channel.ConnectionState
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(ChannelGet channelGet)
Add a channelGetboolean
add(ChannelPut channelPut)
Add a channelPutboolean
add(org.epics.pvdata.monitor.Monitor monitor)
Add a monitorvoid
cancel()
void
connectCaV3()
void
connectionChanged(gov.aps.jca.event.ConnectionEvent arg0)
ChannelArray
createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelArray.ChannelGet
createChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelGet.ChannelProcess
createChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelProcess.ChannelPut
createChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPut.ChannelPutGet
createChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelPutGet.ChannelRPC
createChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a ChannelRPC (Remote Procedure Call).org.epics.pvdata.monitor.Monitor
createMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Create a Monitor.void
destroy()
Destroy the channel.AccessRights
getAccessRights(org.epics.pvdata.pv.PVField pvField)
Get the access rights for a field of a PVStructure created via a call to createPVStructure.String
getChannelName()
Get the channel name.ChannelProvider
getChannelProvider()
ChannelRequester
getChannelRequester()
Get the channel requester.Channel.ConnectionState
getConnectionState()
Returns the connection state of this channel.void
getField(GetFieldRequester requester, String subField)
Get a Field which describes the subField.gov.aps.jca.Channel
getJCAChannel()
Get the JCA Channel.ChannelProvider
getProvider()
Get the the channel provider of this channel.String
getRemoteAddress()
Returns the channel's remote address, e.g.String
getRequesterName()
boolean
isConnected()
Is the channel connected?void
message(String message, org.epics.pvdata.pv.MessageType messageType)
boolean
remove(ChannelGet channelGet)
Remove a ChannelGetboolean
remove(ChannelPut channelPut)
Remove a ChannelPutboolean
remove(org.epics.pvdata.monitor.Monitor monitor)
Remove a Monitor
-
-
-
Method Detail
-
connectCaV3
public void connectCaV3()
-
cancel
public void cancel()
- Specified by:
cancel
in interfaceChannelFind
-
getChannelProvider
public ChannelProvider getChannelProvider()
- Specified by:
getChannelProvider
in interfaceChannelFind
-
getConnectionState
public Channel.ConnectionState getConnectionState()
Description copied from interface:Channel
Returns the connection state of this channel.- Specified by:
getConnectionState
in interfaceChannel
- Returns:
- the
ConnectionState
value.
-
getRemoteAddress
public String getRemoteAddress()
Description copied from interface:Channel
Returns the channel's remote address, e.g. "/192.168.1.101:5064" or "#C0 S1".- Specified by:
getRemoteAddress
in interfaceChannel
- Returns:
- the channel's remote address.
-
add
public boolean add(ChannelGet channelGet)
Description copied from interface:V3Channel
Add a channelGet
-
add
public boolean add(ChannelPut channelPut)
Description copied from interface:V3Channel
Add a channelPut
-
add
public boolean add(org.epics.pvdata.monitor.Monitor monitor)
Description copied from interface:V3Channel
Add a monitor
-
remove
public boolean remove(ChannelGet channelGet)
Description copied from interface:V3Channel
Remove a ChannelGet
-
remove
public boolean remove(ChannelPut channelPut)
Description copied from interface:V3Channel
Remove a ChannelPut
-
remove
public boolean remove(org.epics.pvdata.monitor.Monitor monitor)
Description copied from interface:V3Channel
Remove a Monitor
-
createChannelArray
public ChannelArray createChannelArray(ChannelArrayRequester channelArrayRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelArray.- Specified by:
createChannelArray
in interfaceChannel
- Parameters:
channelArrayRequester
- The ChannelArrayRequesterpvRequest
- Additional options (e.g. triggering).- Returns:
ChannelArray
instance.
-
createChannelGet
public ChannelGet createChannelGet(ChannelGetRequester channelGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelGet. ChannelGetRequester.channelGetReady is called after both client and server are ready for the client to make a get request.- Specified by:
createChannelGet
in interfaceChannel
- Parameters:
channelGetRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelGet
instance.
-
createMonitor
public org.epics.pvdata.monitor.Monitor createMonitor(org.epics.pvdata.monitor.MonitorRequester monitorRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a Monitor.- Specified by:
createMonitor
in interfaceChannel
- Parameters:
monitorRequester
- The requester.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
Monitor
instance.
-
createChannelProcess
public ChannelProcess createChannelProcess(ChannelProcessRequester channelProcessRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelProcess. ChannelProcessRequester.channelProcessReady is called after both client and server are ready for the client to make a process request.- Specified by:
createChannelProcess
in interfaceChannel
- Parameters:
channelProcessRequester
- The interface for notifying when this request is complete and when channel completes processing.pvRequest
- Additional options (e.g. triggering).- Returns:
ChannelProcess
instance.
-
createChannelPut
public ChannelPut createChannelPut(ChannelPutRequester channelPutRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelPut. ChannelPutRequester.channelPutReady is called after both client and server are ready for the client to make a put request.- Specified by:
createChannelPut
in interfaceChannel
- Parameters:
channelPutRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelPut
instance.
-
createChannelPutGet
public ChannelPutGet createChannelPutGet(ChannelPutGetRequester channelPutGetRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelPutGet. ChannelPutGetRequester.channelPutGetReady is called after both client and server are ready for the client to make a putGet request.- Specified by:
createChannelPutGet
in interfaceChannel
- Parameters:
channelPutGetRequester
- The interface for notifying when this request is complete and when a channel get completes.pvRequest
- A structure describing the desired set of fields from the remote PVRecord. This has the same form as a pvRequest to PVCopyFactory.create.- Returns:
ChannelPutGet
instance.
-
createChannelRPC
public ChannelRPC createChannelRPC(ChannelRPCRequester channelRPCRequester, org.epics.pvdata.pv.PVStructure pvRequest)
Description copied from interface:Channel
Create a ChannelRPC (Remote Procedure Call).- Specified by:
createChannelRPC
in interfaceChannel
- Parameters:
channelRPCRequester
- The requester.pvRequest
- Request options.- Returns:
ChannelRPC
instance.
-
destroy
public void destroy()
Description copied from interface:Channel
Destroy the channel. It will not honor any further requests.
-
getAccessRights
public AccessRights getAccessRights(org.epics.pvdata.pv.PVField pvField)
Description copied from interface:Channel
Get the access rights for a field of a PVStructure created via a call to createPVStructure. MATEJ Channel access can store this info via auxInfo.- Specified by:
getAccessRights
in interfaceChannel
- Parameters:
pvField
- The field for which access rights is desired.- Returns:
- The access rights.
-
getChannelName
public String getChannelName()
Description copied from interface:Channel
Get the channel name.- Specified by:
getChannelName
in interfaceChannel
- Returns:
- The name.
-
getChannelRequester
public ChannelRequester getChannelRequester()
Description copied from interface:Channel
Get the channel requester.- Specified by:
getChannelRequester
in interfaceChannel
- Returns:
- The requester.
-
getField
public void getField(GetFieldRequester requester, String subField)
Description copied from interface:Channel
Get a Field which describes the subField. GetFieldRequester.getDone is called after both client and server have processed the getField request. This is for clients that want to introspect a PVRecord via channel access.
-
getProvider
public ChannelProvider getProvider()
Description copied from interface:Channel
Get the the channel provider of this channel.- Specified by:
getProvider
in interfaceChannel
- Returns:
- The channel provider.
-
isConnected
public boolean isConnected()
Description copied from interface:Channel
Is the channel connected?- Specified by:
isConnected
in interfaceChannel
- Returns:
- (false,true) means (not, is) connected.
-
getRequesterName
public String getRequesterName()
- Specified by:
getRequesterName
in interfaceorg.epics.pvdata.pv.Requester
-
message
public void message(String message, org.epics.pvdata.pv.MessageType messageType)
- Specified by:
message
in interfaceorg.epics.pvdata.pv.Requester
-
getJCAChannel
public gov.aps.jca.Channel getJCAChannel()
Description copied from interface:V3Channel
Get the JCA Channel.- Specified by:
getJCAChannel
in interfaceV3Channel
- Returns:
- The interface.
-
connectionChanged
public void connectionChanged(gov.aps.jca.event.ConnectionEvent arg0)
- Specified by:
connectionChanged
in interfacegov.aps.jca.event.ConnectionListener
-
-