java.OpenAPIRestrictions.xpt Maven / Gradle / Ivy
«IMPORT uml»
«IMPORT JMM»
«EXTENSION java::Naming»
«EXTENSION java::CustomValidationCommons»
«EXTENSION java::OpenAPIFunctions»
«EXTENSION org::openarchitectureware::util::stdlib::io»
«DEFINE OpenAPIRestrictions(String indent) FOR MultiplicityElement -»
«FOREACH this.getAppliedStereotypes() AS stereotype -»
«IF stereotype.isValidationStereotype() -»
«IF stereotype.name == "DecimalMin" -»
«EXPAND DecimalMinAnnotation(indent) FOR ((DecimalMin)this)»
«ELSEIF stereotype.name == "DecimalMax" -»
«EXPAND DecimalMaxAnnotation(indent) FOR ((DecimalMax)this)»
«ELSEIF stereotype.name == "Min" -»
«EXPAND MinValueAnnotation(indent) FOR ((Min)this)»
«ELSEIF stereotype.name == "Max" -»
«EXPAND MaxValueAnnotation(indent) FOR ((Max)this)»
«ELSEIF stereotype.name == "Negative" -»
«EXPAND NegativeAnnotation(indent) FOR ((Negative) this)»
«ELSEIF stereotype.name == "NegativeOrZero" -»
«EXPAND NegativeOrZeroAnnotation(indent) FOR ((NegativeOrZero) this)»
«ELSEIF stereotype.name == "PositiveOrZero" -»
«EXPAND PositiveOrZeroAnnotation(indent) FOR ((PositiveOrZero) this)»
«ELSEIF stereotype.name == "Positive" -»
«EXPAND PositiveAnnotation(indent) FOR ((Positive) this)»
«ELSEIF stereotype.name == "Size" -»
«IF this.isMultivalued() == false -»
«EXPAND SizeAnnotation(indent) FOR ((Size) this)»
«ELSE -»
«EXPAND SizeAnnotationForArray(indent) FOR ((Size) this)»
«ENDIF -»
«ELSEIF stereotype.name == "NotEmpty" -»
«IF this.isMultivalued() == false -»
«EXPAND NotEmptyStringAnnotation(indent) FOR ((NotEmpty) this) -»
«ELSE -»
«EXPAND NotEmptyArrayAnnotation(indent) FOR ((NotEmpty) this) -»
«ENDIF -»
«ELSEIF stereotype.name == "NotBlank" -»
«EXPAND NotBlankAnnotation(indent) FOR ((NotBlank) this) -»
«ELSE -»
«ENDIF -»
«ENDIF -»
«ENDFOREACH -»
«IF this.isMultivalued() == true && this.lower > 0 && this.getAppliedStereotypes().select(e|e.name== "Size").size == 0 -»
«indent» minItems: «this.lower»
«ENDIF -»
«ENDDEFINE»
«DEFINE DecimalMinAnnotation(String indent) FOR DecimalMin -»
«IF isOpenAPIVersion30() -»
«indent» minimum: «this.minValue»
«indent» exclusiveMinimum: «!this.inclusive -»
«ELSE -»
«IF inclusive -»
«indent» minimum: «this.minValue»«ELSE -»
«indent» exclusiveMinimum: «this.minValue -»
«ENDIF -»
«ENDIF -»
«ENDDEFINE»
«DEFINE DecimalMaxAnnotation(String indent) FOR DecimalMax -»
«IF isOpenAPIVersion30() -»
«indent» maximum: «this.maxValue»
«indent» exclusiveMaximum: «!this.inclusive -»
«ELSE -»
«IF inclusive -»
«indent» maximum: «this.maxValue»«ELSE -»
«indent» exclusiveMaximum: «this.maxValue -»
«ENDIF -»
«ENDIF -»
«ENDDEFINE»
«DEFINE MinValueAnnotation(String indent) FOR Min-»
«indent» minimum: «this.minValue -»
«ENDDEFINE»
«DEFINE MaxValueAnnotation(String indent) FOR Max -»
«indent» maximum: «this.maxValue -»
«ENDDEFINE»
«DEFINE NegativeAnnotation(String indent) FOR Negative -»
«IF isOpenAPIVersion30() -»
«indent» maximum: 0
«indent» exclusiveMaximum: true«ELSE -»
«indent» exclusiveMaximum: 0«ENDIF -»«ENDDEFINE»
«DEFINE NegativeOrZeroAnnotation(String indent) FOR NegativeOrZero -»
«indent» maximum: 0«ENDDEFINE»
«DEFINE PositiveOrZeroAnnotation(String indent) FOR PositiveOrZero -»
«indent» minimum: 0«ENDDEFINE»
«DEFINE PositiveAnnotation(String indent) FOR Positive -»
«IF isOpenAPIVersion30() -»
«indent» minimum: 0
«indent» exclusiveMinimum: true«ELSE -»
«indent» exclusiveMinimum: 0«ENDIF -»«ENDDEFINE»
«DEFINE SizeAnnotation(String indent) FOR Size -»
«IF min != -1 && max != -1 -»
«indent» minLength: «min»
«indent» maxLength: «max»«ELSE-»
«IF min != -1-»
«indent» minLength: «min»«ELSE -»
«IF max != -1 -»
«indent» maxLength: «max»«ENDIF -»«ENDIF-»«ENDIF-»«ENDDEFINE»
«DEFINE SizeAnnotationForArray(String indent) FOR Size -»
«IF min != -1 && max != -1 -»
«indent» minItems: «min»
«indent» maxItems: «max»«ELSE-»
«IF min != -1-»
«indent» minItems: «min»«ELSE -»
«IF max != -1 -»
«indent» maxItems: «max»«ENDIF -»«ENDIF-»«ENDIF-»«ENDDEFINE»
«DEFINE NotEmptyStringAnnotation(String indent) FOR NotEmpty -»
«indent» minLength: 1
«ENDDEFINE»
«DEFINE NotEmptyArrayAnnotation(String indent) FOR NotEmpty -»
«indent» minItems: 1
«ENDDEFINE»
«DEFINE NotBlankAnnotation(String indent) FOR NotBlank -»
«indent» minLength: 1
«ENDDEFINE»