+ this.key = new PfReferenceKey(copyConcept.key);
+ this.type = new PfConceptKey(copyConcept.type);
+ this.description = copyConcept.description;
+ this.required = copyConcept.required;
+ this.defaultValue = copyConcept.defaultValue;
+ this.status = copyConcept.status;
+ // Constraints are immutable
+ this.constraints = (copyConcept.constraints != null ? new ArrayList<>(copyConcept.constraints) : null);
+ this.entrySchema =
+ (copyConcept.entrySchema != null ? new JpaToscaSchemaDefinition(copyConcept.entrySchema) : null);
+ this.metadata = (copyConcept.metadata != null ? new LinkedHashMap<>(copyConcept.metadata) : null);
+ }
+
+ /**
+ * Authorative constructor.
+ *
+ * @param authorativeConcept the authorative concept to copy from
+ */
+ public JpaToscaProperty(final ToscaProperty authorativeConcept) {
+ this.fromAuthorative(authorativeConcept);