NodeAddress class
Add something here.
class NodeAddress { static const _HOST = "host"; static const _PORT = "port"; static NodeAddress _localhost; final String host; final int port; NodeAddress(this.host, [this.port=12345]); factory NodeAddress.fromJsonMap(Map jsonMap) { return new NodeAddress(jsonMap[_HOST], jsonMap[_PORT]); } String toString() => "$host:$port"; Map<String,dynamic> toJson() { var map = new Map(); map[_HOST] = host; map[_PORT] = port; return map; } /// identical and '==' overload int get hashCode => host.hashCode + port; bool operator ==(other) { if (identical(this, other)) { return true; } return (other is NodeAddress && host == other.host && port == other.port); } }
Constructors
new NodeAddress(String host, [int port = 12345]) #
factory NodeAddress.fromJsonMap(Map jsonMap) #
factory NodeAddress.fromJsonMap(Map jsonMap) { return new NodeAddress(jsonMap[_HOST], jsonMap[_PORT]); }
Properties
final int hashCode #
identical and '==' overload
int get hashCode => host.hashCode + port;
final String host #
final String host
final int port #
final int port
Operators
bool operator ==(other) #
The equality operator.
The default behavior for all Objects is to return true if and
only if this
and
other are the same object.
Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:
-
Total: It must return a boolean for all arguments. It should never throw or return
null
. -
Reflexive: For all objects
o
,o == o
must be true. -
Symmetric: For all objects
o1
ando2
,o1 == o2
ando2 == o1
must either both be true, or both be false. -
Transitive: For all objects
o1
,o2
, ando3
, ifo1 == o2
ando2 == o3
are true, theno1 == o3
must be true.
The method should also be consistent over time, so equality of two objects should not change over time, or at least only change if one of the objects was modified.
If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.
bool operator ==(other) { if (identical(this, other)) { return true; } return (other is NodeAddress && host == other.host && port == other.port); }