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
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumDeclares how the server should authorize the server-side references this plugin passes toObjectType.MessageStream.onData(ByteBuffer, Object...)before they are exported to the client.static interfaceA 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 TypeMethodDescriptionDeclares how the server should authorize the references this plugin passes toObjectType.MessageStream.onData(ByteBuffer, Object...).clientConnection(Object object, ObjectType.MessageStream connection) Signals creation of a client stream to the provided object.booleanReturns true if, and only if, theobjectis compatible withthisobject 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, theobjectis compatible withthisobject type.- Parameters:
object- the object- Returns:
- true if the
objectis compatible
-
authorizationExportBehavior
Declares how the server should authorize the references this plugin passes toObjectType.MessageStream.onData(ByteBuffer, Object...). The server's policy determines the behavior for plugins that returnObjectType.AuthorizationExportBehavior.UNSET; a strict (fail-closed) server transforms such a plugin's references and logs a warning.- Returns:
- the authorization export behavior for this plugin
-
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
-