class that captures details of a constraint.
Example
{ "params" : { "property1" : { }, "property2" : { } }, "type" : "..." }