SimpleNode class

A Simple Node Implementation A flexible node implementation that should fit most use cases.

Inheritance
Implementers

Constructors

SimpleNode(String path, [SimpleNodeProvider? nodeprovider])

Properties

attributes Map<String, Object?>
Node Attributes
getter/setter pairinherited
callbacks Map<ValueUpdateCallback, int>
Subscription Callbacks
getter/setter pairinherited
children Map<String, Node>
Node Children Map of Child Name to Child Node
getter/setter pairinherited
configs Map
Node Configs
getter/setter pairinherited
disconnected String?
Disconnected Timestamp
no setterinherited
displayName String?
Gets the current display name of this node. This is the $name config. If it does not exist, then null is returned.
getter/setter pair
exists bool
Checks if this node exists. list and subscribe can be called on a node that doesn't exist Other things like set remove, and invoke can only be applied to an existing node.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasSubscriber bool
Checks if this node has a subscriber. Use this for things like polling when you only want to do something if the node is subscribed to.
no setterinherited
isStubNode bool
Is this node a stub node? Stub nodes are nodes which are stored in the tree, but are not actually part of their parent.
no setter
lastValueUpdate ValueUpdate?
Gets the last value update of this node.
no setterinherited
listChangeController BroadcastStreamController<String>
Changes to nodes will be added to this controller's stream. See updateList.
no setterinherited
listReady bool
whether the node is ready for returning a list response
no setterinherited
listStream Stream<String>
List Stream. See listChangeController.
no setterinherited
loaded bool
no setterinherited
name String
Gets the name of this node. This is the last component of this node's path.
no setter
parent SimpleNode
Gets the parent node of this node.
no setter
path String
Node Path
finalinherited
profile Node?
This node's profile.
getter/setter pairinherited
provider SimpleNodeProvider
Node Provider
final
removed bool
Marks a node as being removed.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serializable bool
Marks this node as being serializable. If true, this node can be serialized into a JSON file and then loaded back. If false, this node can't be serialized into a JSON file.
getter/setter pair
type String
Gets the current value type of this node. This is the $type config. If it does not exist, then null is returned.
getter/setter pair
value → dynamic
Gets the current value of this node.
no setterinherited
valueReady bool
Is the value ready?
no setterinherited
writable String?
Gets the current value of the $writable config. If it does not exist, then null is returned.
getter/setter pair

Methods

addChild(String name, Node node) → void
Adds the given node as a child of this node with the given name.
override
attach(dynamic input, {String? name}) → void
Add this node to the given node. If input is a String, it is interpreted as a node path and resolved to a node. If input is a SimpleNode, it will be attached to that.
clearValue() → void
inherited
createChild(String name, [Map? m]) SimpleNode
Creates a child with the given name. If m is specified, the node is loaded with that map.
forEachAttribute(void callback(String name, Object? value)) → void
inherited
forEachChild(void callback(String name, Node? node)) → void
Iterates over all the children of this node and passes them to the specified callback.
inherited
forEachConfig(void callback(dynamic name, dynamic value)) → void
inherited
get(String name) Object?
Get a property of this node. If name starts with '$', this will fetch a config. If name starts with a '@', this will fetch an attribute. Otherwise this will fetch a child.
inherited
getAttribute(String name) Object?
Get an Attribute
inherited
getChild(String name) Node?
Get a Child Node
inherited
getConfig(String name) Object?
Get a Config
inherited
getDisconnectedListResponse() List
inherited
getInvokePermission() int
Gets the invoke permission for this node.
inherited
getOverideAttributes(String attr) Object?
same as attributes for local node but different on remote node
inherited
getSetPermission() int
Gets the set permission for this node.
inherited
getSimpleMap() Map
Gets a map for the data that will be listed in the parent node's children property.
inherited
hasAttribute(String name) bool
Checks if this node has the specified attribute.
hasConfig(String name) bool
Checks if this node has the specified config.
invoke(Map params, Responder responder, InvokeResponse response, Node parentNode, [int maxPermission = Permission.CONFIG]) InvokeResponse
Handles the invoke method from the internals of the responder. Use onInvoke to handle when a node is invoked.
override
load(Map m) → void
Load this node from the provided map as m.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAllListCancel() → void
Callback for when all lists are canceled.
inherited
onChildAdded(String name, Node node) → void
Callback used to notify a node that a child has been added to it.
onChildRemoved(String name, Node node) → void
Callback used to notify a node that one of it's children has been removed.
onCreated() → void
Callback used to notify a node that it was created. This is called after a node is deserialized as well.
onInvoke(Map params) → dynamic
This is called when this node is invoked. You can return the following types from this method:
onLoadChild(String name, Map data, SimpleNodeProvider provider) SimpleNode?
Callback to override how a child of this node is loaded. If this method returns null, the default strategy is used.
onRemoving() → void
Callback used to notify a node that it is about to be removed.
onSetAttribute(String name, dynamic value) bool
Callback used to accept or reject a value of an attribute when it is set. Return true to reject the value, and false to accept it.
onSetConfig(String name, dynamic value) bool
Callback used to accept or reject a value of a config when it is set. Return true to reject the value, and false to accept it.
onSetValue(dynamic val) bool
Callback used to accept or reject a value when it is set. Return true to reject the value, and false to accept it.
onStartListListen() → void
Callback for when listing this node has started.
inherited
onSubscribe() → void
onUnsubscribe() → void
overrideListChangeController(BroadcastStreamController<String> controller) → void
inherited
remove() → void
Remove this node from it's parent.
removeAttribute(String name, Responder responder, Response? response) Response?
Called by the link internals to remove an attribute from this node.
inherited
removeChild(dynamic input) String?
Removes a child from this node. If input is a String, a child named with the specified input is removed. If input is a Node, the child that owns that node is removed. The name of the removed node is returned.
override
removeConfig(String name, Responder responder, Response? response) Response?
Called by the link internals to remove a config from this node.
inherited
save() Map
Save this node into a map.
serialize(bool withChildren) Map
inherited
setAttribute(String name, dynamic value, Responder responder, Response? response) Response?
Called by the link internals to set an attribute on this node.
override
setConfig(String name, dynamic value, Responder responder, Response? response) Response?
Called by the link internals to set a config on this node.
override
setValue(dynamic value, Responder? responder, Response? response, [int maxPermission = Permission.CONFIG]) Response?
Called by the link internals to set a value of a node.
override
subscribe(ValueUpdateCallback callback, [int qos = 0]) RespSubscribeListener
Subscribes the given callback to this node.
override
toString() String
A string representation of this object.
inherited
unsubscribe(ValueUpdateCallback callback) → void
Unsubscribe the given callback from this node.
override
updateList(String name) → void
inherited
updateValue(Object? update, {bool force = false}) → void
Updates this node's value to the specified value.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited
operator [](String name) Object?
Shortcut to get.
override
operator []=(String name, Object value) → void
Set a config, attribute, or child on this node.
override

Static Methods

decryptString(String str) String
encryptString(String str) String
encrypt the string and prefix the value with '\u001Bpw:' so it's compatible with old plain text password
initEncryption(String key) → void