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

Inheritance

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) → dynamic

Constructors

SimpleNode(String path, [ SimpleNodeProvider nodeprovider ])

Properties

displayName → String

Gets the current display name of this node. This is the $name config. If it does not exist, then null is returned.

read / write
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.

read-only
name → String

Gets the name of this node. This is the last component of this node's path.

read-only
parent SimpleNode

Gets the parent node of this node.

read-only
provider SimpleNodeProvider

final
removed → bool

Marks a node as being removed.

read / write
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.

read / write
type → String

Gets the current value type of this node. This is the $type config. If it does not exist, then null is returned.

read / write
writable → String

Gets the current value of the $writable config. If it does not exist, then null is returned.

read / write
attributes → Map<String, Object>

Node Attributes

read / write, inherited
callbacks → Map<ValueUpdateCallback, int>

Subscription Callbacks

read / write, inherited
children → Map<String, Node>

Node Children Map of Child Name to Child Node

read / write, inherited
configs → Map<String, Object>

Node Configs

read / write, inherited
disconnected → String

Disconnected Timestamp

read-only, inherited
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.

read-only, inherited
hashCode → int

The hash code for this object.

read-only, inherited
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.

read-only, inherited
lastValueUpdate ValueUpdate

Gets the last value update of this node.

read-only, inherited
listChangeController BroadcastStreamController<String>

Changes to nodes will be added to this controller's stream. See updateList.

read-only, inherited
listReady → bool

whether the node is ready for returning a list response

read-only, inherited
listStream → Stream<String>

List Stream. See listChangeController.

read-only, inherited
loaded → bool

read-only, inherited
path → String

Node Path

final, inherited
profile Node

This node's profile.

read / write, inherited
runtimeType → Type

A representation of the runtime type of the object.

read-only, inherited
value → dynamic

Gets the current value of this node.

read-only, inherited
valueReady → bool

Is the value ready?

read-only, inherited

Operators

operator [](String name) → dynamic

Shortcut to get.

operator []=(String name, value) → dynamic

Set a config, attribute, or child on this node.

operator ==(other) → bool

The equality operator.

inherited

Methods

addChild(String name, Node node) → void

Adds the given node as a child of this node with the given name.

attach(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.

createChild(String name, [ Map m ]) SimpleNode

Creates a child with the given name. If m is specified, the node is loaded with that map.

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<String, dynamic> 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.

load(Map m) → void

Load this node from the provided map as m.

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<String, dynamic> 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, Object 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, Object 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(Object 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.

onSubscribe() → void

onUnsubscribe() → void

remove() → void

Remove this node from it's parent.

removeChild(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.

save() → Map

Save this node into a map.

setAttribute(String name, Object value, Responder responder, Response response) Response

Called by the link internals to set an attribute on this node.

setConfig(String name, Object value, Responder responder, Response response) Response

Called by the link internals to set a config on this node.

setValue(Object value, Responder responder, Response response, [ int maxPermission = Permission.CONFIG ]) Response

Called by the link internals to set a value of a node.

subscribe(ValueUpdateCallback callback, [ int qos = 0 ]) RespSubscribeListener

Subscribes the given callback to this node.

unsubscribe(ValueUpdateCallback callback) → void

Unsubscribe the given callback from this node.

clearValue() → void

inherited
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(String name, Object 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<String, dynamic>

Gets a map for the data that will be listed in the parent node's children property.

inherited
noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
onAllListCancel() → void

Callback for when all lists are canceled.

inherited
onStartListListen() → void

Callback for when listing this node has started.

inherited
overrideListChangeController(BroadcastStreamController<String> controller) → void

inherited
removeAttribute(String name, Responder responder, Response response) Response

Called by the link internals to remove an attribute from this node.

inherited
removeConfig(String name, Responder responder, Response response) Response

Called by the link internals to remove a config from this node.

inherited
serialize(bool withChildren) → Map

inherited
toString() → String

Returns a string representation of this object.

inherited
updateList(String name) → void

inherited
updateValue(Object update, { bool force: false }) → void

Updates this node's value to the specified value.

inherited