Package io.deephaven.plugin.type
Interface ObjectType
- All Superinterfaces:
Plugin
,Registration
- All Known Implementing Classes:
EchoObjectType
,FigureWidgetTypePlugin
,HierarchicalTableTypePlugin
,ObjectTypeBase
,ObjectTypeBase.FetchOnly
,ObjectTypeClassBase
,ObjectTypeClassBase.FetchOnly
,PartitionedTableTypePlugin
An "object type" plugin. Useful for serializing custom objects between the server / client.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A stream of messages, either sent from the server to the client, or client to the server.Nested classes/interfaces inherited from interface io.deephaven.plugin.Plugin
Plugin.Visitor<T>
Nested classes/interfaces inherited from interface io.deephaven.plugin.Registration
Registration.Callback
-
Method Summary
Modifier and TypeMethodDescriptionclientConnection
(Object object, ObjectType.MessageStream connection) Signals creation of a client stream to the provided object.boolean
Returns true if, and only if, theobject
is compatible withthis
object type.name()
The name of the object type.Methods inherited from interface io.deephaven.plugin.Plugin
registerInto, walk
-
Method Details
-
name
String name()The name of the object type.- Returns:
- the name
-
isType
Returns true if, and only if, theobject
is compatible withthis
object type.- Parameters:
object
- the object- Returns:
- true if the
object
is compatible
-
clientConnection
ObjectType.MessageStream clientConnection(Object object, ObjectType.MessageStream connection) throws ObjectCommunicationException Signals creation of a client stream to the provided object. The returned MessageStream implementation will be called with each received message from the client, and can call the provided connection instance to send messages as needed to the client.- Parameters:
object
- the object to create a connection forconnection
- a stream to send objects to the client- Returns:
- a stream to receive objects from the client
- Throws:
ObjectCommunicationException
- may throw an exception received fromObjectType.MessageStream.onData(ByteBuffer, Object...)
calls
-