类javax.validation.constraints.DecimalMin源码实例Demo

下面列出了怎么用javax.validation.constraints.DecimalMin的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: spring-openapi   文件: OpenApiClientGenerator.java
private FieldSpec.Builder getNumberBasedSchemaField(String fieldName, Schema innerSchema, TypeSpec.Builder typeSpecBuilder) {
	FieldSpec.Builder fieldBuilder = createNumberBasedFieldWithFormat(fieldName, innerSchema, typeSpecBuilder);
	if (innerSchema.getMinimum() != null) {
		fieldBuilder.addAnnotation(AnnotationSpec.builder(DecimalMin.class)
				.addMember("value", "$S", innerSchema.getMinimum().toString())
				.build()
		);
	}
	if (innerSchema.getMaximum() != null) {
		fieldBuilder.addAnnotation(AnnotationSpec.builder(DecimalMax.class)
				.addMember("value", "$S", innerSchema.getMaximum().toString())
				.build()
		);
	}
	return fieldBuilder;
}
 
private ParameterSpec.Builder getNumberBasedSchemaParameter(String fieldName, Schema innerSchema) {
	ParameterSpec.Builder fieldBuilder = createNumberBasedParameterWithFormat(fieldName, innerSchema);
	if (innerSchema.getMinimum() != null) {
		fieldBuilder.addAnnotation(AnnotationSpec.builder(DecimalMin.class)
				.addMember("value", "$S", innerSchema.getMinimum().toString())
				.build()
		);
	}
	if (innerSchema.getMaximum() != null) {
		fieldBuilder.addAnnotation(AnnotationSpec.builder(DecimalMax.class)
				.addMember("value", "$S", innerSchema.getMaximum().toString())
				.build()
		);
	}
	return fieldBuilder;
}
 
源代码3 项目: spring-openapi   文件: OpenApiTransformer.java
protected void applyAnnotationDetailsOnParameter(AbstractSerializableParameter schema, Annotation annotation) {
	if (annotation instanceof DecimalMin) {
		schema.setMinimum(new BigDecimal(((DecimalMin) annotation).value()));
	} else if (annotation instanceof DecimalMax) {
		schema.setMaximum(new BigDecimal(((DecimalMax) annotation).value()));
	} else if (annotation instanceof Min) {
		schema.setMinimum(BigDecimal.valueOf(((Min) annotation).value()));
	} else if (annotation instanceof Max) {
		schema.setMaximum(BigDecimal.valueOf(((Max) annotation).value()));
	}
	if (annotation instanceof Pattern) {
		schema.setPattern(((Pattern) annotation).regexp());
	} else if (annotation instanceof Size) {
		schema.setMinLength(((Size) annotation).min());
		schema.setMaxLength(((Size) annotation).max());
	} else if (annotation instanceof Deprecated) {
		schema.setVendorExtension("x-deprecated", true);
	}
}
 
源代码4 项目: runscore   文件: RechargeService.java
/**
 * 核对订单
 */
@Transactional
public void checkOrder(@NotBlank String orderNo,
		@NotNull @DecimalMin(value = "0", inclusive = false) Double actualPayAmount, @NotNull Date payTime) {
	RechargeOrder order = rechargeOrderRepo.findByOrderNo(orderNo);
	if (order == null) {
		throw new BizException(BizError.充值订单不存在);
	}
	if (Constant.充值订单状态_已支付.equals(order.getOrderState())) {
		return;
	}

	order.updatePayInfo(actualPayAmount, payTime);
	rechargeOrderRepo.save(order);

	if (order.getRechargeAmount().compareTo(actualPayAmount) != 0) {
		log.warn("充值金额跟实际支付金额对不上,无法进行自动结算;充值订单单号为{}", orderNo);
		return;
	}
	ThreadPoolUtils.getRechargeSettlementPool().schedule(() -> {
		redisTemplate.opsForList().leftPush(Constant.充值订单_已支付订单单号, order.getOrderNo());
	}, 1, TimeUnit.SECONDS);
}
 
/**
 * Determine a number type's minimum (inclusive) value.
 *
 * @param member the field or method to check
 * @return specified inclusive minimum value (or null)
 * @see Min
 * @see DecimalMin
 * @see PositiveOrZero
 */
protected BigDecimal resolveNumberInclusiveMinimum(MemberScope<?, ?> member) {
    Min minAnnotation = this.getAnnotationFromFieldOrGetter(member, Min.class, Min::groups);
    if (minAnnotation != null) {
        return new BigDecimal(minAnnotation.value());
    }
    DecimalMin decimalMinAnnotation = this.getAnnotationFromFieldOrGetter(member, DecimalMin.class, DecimalMin::groups);
    if (decimalMinAnnotation != null && decimalMinAnnotation.inclusive()) {
        return new BigDecimal(decimalMinAnnotation.value());
    }
    PositiveOrZero positiveAnnotation = this.getAnnotationFromFieldOrGetter(member, PositiveOrZero.class, PositiveOrZero::groups);
    if (positiveAnnotation != null) {
        return BigDecimal.ZERO;
    }
    return null;
}
 
源代码6 项目: spring-openapi   文件: SchemaGeneratorHelper.java
protected void applyNumberAnnotation(Schema<?> schema, Annotation annotation) {
    if (annotation instanceof DecimalMin) {
        schema.setMinimum(new BigDecimal(((DecimalMin) annotation).value()));
    } else if (annotation instanceof DecimalMax) {
        schema.setMaximum(new BigDecimal(((DecimalMax) annotation).value()));
    } else if (annotation instanceof Min) {
        schema.setMinimum(BigDecimal.valueOf(((Min) annotation).value()));
    } else if (annotation instanceof Max) {
        schema.setMaximum(BigDecimal.valueOf(((Max) annotation).value()));
    }
}
 
源代码7 项目: spring-openapi   文件: OpenApiTransformer.java
protected void applyNumberAnnotationDetails(AbstractNumericProperty schema, Annotation annotation) {
	if (annotation instanceof DecimalMin) {
		schema.setMinimum(new BigDecimal(((DecimalMin) annotation).value()));
	} else if (annotation instanceof DecimalMax) {
		schema.setMaximum(new BigDecimal(((DecimalMax) annotation).value()));
	} else if (annotation instanceof Min) {
		schema.setMinimum(BigDecimal.valueOf(((Min) annotation).value()));
	} else if (annotation instanceof Max) {
		schema.setMaximum(BigDecimal.valueOf(((Max) annotation).value()));
	} else if (annotation instanceof Deprecated) {
		schema.setVendorExtension("x-deprecated", true);
	}
}
 
源代码8 项目: RestDoc   文件: DecimalMinPostProcessor.java
@Override
public PropertyModel postProcessInternal(PropertyModel propertyModel) {
    DecimalMin minAnno = propertyModel.getPropertyItem().getAnnotation(DecimalMin.class);
    if (minAnno == null) return propertyModel;

    String hint = "";
    if (minAnno.inclusive())
        hint += " (值大于等于" + minAnno.value() + ")";
    else
        hint += " (值大于" + minAnno.value() + ")";
    propertyModel.setDescription(
            TextUtils.combine(propertyModel.getDescription(), hint)
    );
    return propertyModel;
}
 
/**
 * Determine a number type's minimum (exclusive) value.
 *
 * @param member the field or method to check
 * @return specified exclusive minimum value (or null)
 * @see DecimalMin
 * @see Positive
 */
protected BigDecimal resolveNumberExclusiveMinimum(MemberScope<?, ?> member) {
    DecimalMin decimalMinAnnotation = this.getAnnotationFromFieldOrGetter(member, DecimalMin.class, DecimalMin::groups);
    if (decimalMinAnnotation != null && !decimalMinAnnotation.inclusive()) {
        return new BigDecimal(decimalMinAnnotation.value());
    }
    Positive positiveAnnotation = this.getAnnotationFromFieldOrGetter(member, Positive.class, Positive::groups);
    if (positiveAnnotation != null) {
        return BigDecimal.ZERO;
    }
    return null;
}
 
源代码10 项目: AngularBeans   文件: BeanValidationProcessor.java
@PostConstruct
public void init() {
	validationAnnotations = new HashSet<>();
	validationAnnotations.addAll(Arrays.asList(NotNull.class, Size.class,
			Pattern.class, DecimalMin.class, DecimalMax.class, Min.class,
			Max.class));

}
 
public void exec(
        @NotNull
        @Min(value = 1, groups = Create.class)
        @Max(value = 2, groups = Update.class) Integer count,
        @NotBlank
        @OneOf({"all", "single"}) String type,
        Enum1 enumeration,
        Optional<Enum1> optionalEnum,
        @DecimalMin(value = "0.1", message = "Must exceed ${value}") BigDecimal min) {
}
 
源代码12 项目: presto   文件: FailureDetectorConfig.java
@DecimalMin("0.0")
@DecimalMax("1.0")
public double getFailureRatioThreshold()
{
    return failureRatioThreshold;
}
 
源代码13 项目: presto   文件: FeaturesConfig.java
@DecimalMin("0.0")
@DecimalMax("1.0")
public double getMemoryRevokingThreshold()
{
    return memoryRevokingThreshold;
}
 
源代码14 项目: presto   文件: FeaturesConfig.java
@DecimalMin("0.0")
@DecimalMax("1.0")
public double getMemoryRevokingTarget()
{
    return memoryRevokingTarget;
}
 
源代码15 项目: presto   文件: OrcWriterConfig.java
@DecimalMin("0.0")
@DecimalMax("100.0")
public double getValidationPercentage()
{
    return validationPercentage;
}
 
@DecimalMin(value = "10.1", groups = Test.class)
@DecimalMax(value = "20.2", groups = Test.class)
public Integer getTenToTwentyInclusiveOnGetterInteger() {
    return tenToTwentyInclusiveOnGetterInteger;
}
 
@DecimalMin(value = "10.1", inclusive = false, groups = Test.class)
@DecimalMax(value = "20.2", inclusive = false, groups = Test.class)
public Integer getTenToTwentyExclusiveOnGetterInteger() {
    return tenToTwentyExclusiveOnGetterInteger;
}
 
源代码18 项目: BlogManagePlatform   文件: DefaultModelPlugin.java
private String resolveRange(Field field) {
	String min = Optional.ofNullable(field.getAnnotation(Min.class)).map((item) -> String.valueOf(item.value())).orElse(null);
	if (min == null) {
		min = Optional.ofNullable(field.getAnnotation(DecimalMin.class)).map(DecimalMin::value).orElse(null);
	}
	if (field.isAnnotationPresent(PositiveOrZero.class)) {
		if (min == null || new BigDecimal(min).compareTo(BigDecimal.ZERO) < 0) {
			min = "非负数";
		}
	}
	if (field.isAnnotationPresent(Positive.class)) {
		if (min == null || new BigDecimal(min).compareTo(BigDecimal.ZERO) <= 0) {
			min = "正数";
		}
	}
	min = min == null ? null : StrUtil.concat("最小值为", min);
	if (field.isAnnotationPresent(DecimalMin.class)) {
		if (!field.getAnnotation(DecimalMin.class).inclusive()) {
			min = min == null ? null : StrUtil.concat(min, "且不能等于最小值");
		}
	}
	String max = Optional.ofNullable(field.getAnnotation(Max.class)).map((item) -> String.valueOf(item.value())).orElse(null);
	if (max == null) {
		max = Optional.ofNullable(field.getAnnotation(DecimalMax.class)).map(DecimalMax::value).orElse(null);
	}
	if (field.isAnnotationPresent(NegativeOrZero.class)) {
		if (max == null || new BigDecimal(max).compareTo(BigDecimal.ZERO) > 0) {
			max = "非正数";
		}
	}
	if (field.isAnnotationPresent(Negative.class)) {
		if (max == null || new BigDecimal(min).compareTo(BigDecimal.ZERO) >= 0) {
			max = "负数";
		}
	}
	max = max == null ? null : StrUtil.concat("最大值为", max);
	if (field.isAnnotationPresent(DecimalMax.class)) {
		if (!field.getAnnotation(DecimalMax.class).inclusive()) {
			min = min == null ? null : StrUtil.concat(min, "且不能等于最大值");
		}
	}
	String digit = Optional.ofNullable(field.getAnnotation(Digits.class)).map((item) -> {
		String integer = String.valueOf(item.integer());
		String fraction = String.valueOf(item.fraction());
		return StrUtil.concat("整数位", integer, ",", "小数位", fraction);
	}).orElse(null);
	if (min == null && max == null && digit == null) {
		return null;
	}
	return StrUtil.join(",", min, max, digit);
}
 
@NotNull
@DecimalMin("1")
public int getResponseSize() {
	return responseSize;
}
 
@Test
public void checkJSR303() {
	TestConfig.setBasePackage("com.gen.foo");
	TestConfig.setIncludeJsr303Annotations(true);

	assertThat(AbstractRuleTestBase.RAML, is(notNullValue()));
	RamlResource validations = AbstractRuleTestBase.RAML.getResource("/validations");

	RamlDataType validationsGetType = validations.getAction(RamlActionType.GET).getResponses().get("200").getBody()
			.get("application/json").getType();
	assertThat(validationsGetType, is(notNullValue()));
	ApiBodyMetadata validationsGetRequest = RamlTypeHelper.mapTypeToPojo(jCodeModel, AbstractRuleTestBase.RAML,
			validationsGetType.getType());
	assertThat(validationsGetRequest, is(notNullValue()));
	assertThat(validationsGetRequest.getName(), is("Validation"));
	assertThat(validationsGetRequest.isArray(), is(false));

	JDefinedClass validation = (JDefinedClass) CodeModelHelper.findFirstClassBySimpleName(jCodeModel, "Validation");

	checkIfGetterContainsAnnotation(true, validation, NotNull.class, "lastname", "pattern", "length", "id", "anEnum", "anotherEnum");
	checkIfGetterContainsAnnotation(false, validation, NotNull.class, "firstname", "minLength");
	checkIfGetterContainsAnnotation(true, validation, Size.class, "length", "minLength");
	checkIfGetterContainsAnnotation(true, validation, Pattern.class, "pattern");

	checkIfAnnotationHasParameter(validation, Size.class, "length", "min");
	checkIfAnnotationHasParameter(validation, Size.class, "length", "max");
	checkIfAnnotationHasParameter(validation, Size.class, "minLength", "min");
	checkIfAnnotationHasParameter(validation, Pattern.class, "pattern", "regexp");

	checkIfAnnotationHasParameter(validation, DecimalMin.class, "id", "value");
	checkIfAnnotationHasParameter(validation, DecimalMax.class, "id", "value");

	JFieldVar anEnum = getField(validation, "anEnum");
	assertThat(anEnum.type().fullName(), is("com.gen.foo.model.AnEnum"));

	JFieldVar anotherEnum = getField(validation, "anotherEnum");
	assertThat(anotherEnum.type().fullName(), is("com.gen.foo.model.EnumChecks"));

	JDefinedClass enumChecks = (JDefinedClass) CodeModelHelper.findFirstClassBySimpleName(jCodeModel, "EnumChecks");
	String elementAsString = CodeModelHelper.getElementAsString(enumChecks);
	assertThat(elementAsString, not(containsString("(\"value_with_underscore\", \"value_with_underscore\")")));
	assertThat(elementAsString, containsString("FEE(\"fee\")"));
	assertThat(elementAsString, containsString("TESTFEE(\"testfee\")"));
}
 
@Override
public void initialize(DecimalMin minValue) {
    this.minValue = new BigDecimal(minValue.value() );
    this.inclusive = minValue.inclusive();
}
 
源代码22 项目: spring-cloud-consul   文件: HeartbeatProperties.java
public @DecimalMin("0.1") @DecimalMax("0.9") double getIntervalRatio() {
	return this.intervalRatio;
}
 
源代码23 项目: spring-cloud-consul   文件: HeartbeatProperties.java
public void setIntervalRatio(
		@DecimalMin("0.1") @DecimalMax("0.9") double intervalRatio) {
	this.intervalRatio = intervalRatio;
}