toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse
function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString
to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
if (isInnocuous) return 'EntityAccessRules{innocuous}';
final ruleType = this.ruleType;
var ruleTypeStr = ruleType != null ? '[${ruleType.name}]' : '';
var props = [
if (entityType != null) 'entityType: $entityType',
if (entityFields != null && entityFields!.isNotEmpty)
'entityFields: $entityFields',
if (condition != null) 'condition: #${condition.hashCode}',
];
var propsStr = props.isNotEmpty ? '{${props.join(', ')}}' : '';
final rules = this.rules;
var rulesStr = rules != null && rules.isNotEmpty
? '<\n ${rules.join('\n ')}\n>'
: '';
return 'EntityAccessRules$ruleTypeStr$propsStr$rulesStr';
}