All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.OpenAPIRestrictions.xpt Maven / Gradle / Ivy

There is a newer version: 1.24.1
Show newest version
«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»




© 2015 - 2024 Weber Informatics LLC | Privacy Policy