Domain Instance
A blackboard value whose identity is a DomainType (typically a DynamicType declared in YAML, not a JVM class) plus a property map carrying the actual data.
Implementing this interface gives a value two things the platform couldn't otherwise see:
Type identity beyond the JVM hierarchy. satisfiesType consults domainType (and its parents) so a value carried by a generic JVM class can satisfy preconditions and action inputs by the pack-declared type name —
it:HubSpotContactCreatedresolves to a value whose JVM class is some carrier, not aHubSpotContactCreatedJVM class.Uniform property access. Templating, validation, and other introspection can read properties without downcasting to a specific carrier class. The keys correspond to the type's DomainType.properties (plus framework-required fields like
id,occurredAtfor signal-shaped types).