class ConfigurationItem implements Serializable {

  public ConfigurationItem(final String namespace,
                           final String key,
                           final String description,
                           final ItemConstraint constraint,
                           final String value) {
    this.namespace = Objects.requireNonNull(namespace, "namespace");
    this.key = Objects.requireNonNull(key, "key");
    this.description = description == null ? "" : description;
    this.constraint = Objects.requireNonNull(constraint, "constraint");
    this.value = value == null ? "" : value;

  }

  public  ConfigurationItem(final String namespace,
                           final String key,
                           final String description,
                           final ItemConstraint constraint,
                           final String value);

}