/** * {@inheritDoc} */ @Override public BasicDecimalPropertyDescriptor clone() { BasicDecimalPropertyDescriptor clonedDescriptor = (BasicDecimalPropertyDescriptor) super .clone(); return clonedDescriptor; }
/** * {@inheritDoc} */ @Override public BigDecimal getMaxValue() { BigDecimal max = super.getMaxValue(); if (max == null) { max = new BigDecimal(Double.MAX_VALUE); } return max; }
/** * {@inheritDoc} */ @Override public BigDecimal getMinValue() { BigDecimal min = super.getMinValue(); if (min == null) { min = new BigDecimal(-Double.MAX_VALUE); } return min; }
/** * {@inheritDoc} */ @Override public BasicPropertyDescriptor createQueryDescriptor() { BasicNumberPropertyDescriptor queryDescriptor = (BasicNumberPropertyDescriptor) super .createQueryDescriptor(); queryDescriptor.setMinValue(null); queryDescriptor.setMaxValue(null); return queryDescriptor; }
@Override public String getI18nMessage( ITranslationProvider translationProvider, Locale locale) { StringBuilder boundsSpec = new StringBuilder(); if (getMinValue() != null && !isDefault(getMinValue())) { boundsSpec.append(getMinValue()).append(" <= "); } boundsSpec.append("x"); if (getMaxValue() != null && !isDefault(getMaxValue())) { boundsSpec.append(" <= ").append(getMaxValue()); } String messageKey; if (getMinValue() != null && compare(((Number) newValue), getMinValue()) < 0) { messageKey = "integrity.property.toosmall"; } else { messageKey = "integrity.property.toobig"; } return translationProvider.getTranslation(messageKey, new Object[] { getI18nName(translationProvider, locale), boundsSpec, component }, locale); }
super.preprocessSetter(component, newValue); if (newValue != null) { if ((getMinValue() != null && compare(((Number) newValue), getMinValue()) < 0) || (getMaxValue() != null && compare(((Number) newValue), getMaxValue()) > 0)) { IntegrityException ie = new IntegrityException("[" + getName() + "] value is out of bounds on [" + component + "].") {
/** * {@inheritDoc} */ @Override protected boolean isDefault(BigDecimal boundValue) { if (boundValue != null) { return boundValue.doubleValue() == Double.MAX_VALUE || boundValue.doubleValue() == -Double.MAX_VALUE; } return super.isDefault(null); }
/** * Handle BigDecimal precision. * <p> * {@inheritDoc} */ @Override public Object interceptSetter(Object component, Object newValue) { Object actualNewValue = newValue; if (getMaxFractionDigit() != null) { if (actualNewValue instanceof Double) { actualNewValue = new BigDecimal(actualNewValue.toString()) .setScale(getMaxFractionDigit(), RoundingMode.HALF_EVEN) .doubleValue(); } else if (actualNewValue instanceof BigDecimal) { actualNewValue = ((BigDecimal) actualNewValue).setScale( getMaxFractionDigit(), RoundingMode.HALF_EVEN); } } return super.interceptSetter(component, actualNewValue); }
/** * {@inheritDoc} */ @Override protected boolean isDefault(BigDecimal boundValue) { if (boundValue != null) { if (isUsingLong()) { return boundValue.longValue() == Long.MAX_VALUE || boundValue.longValue() == Long.MIN_VALUE; } return boundValue.intValue() == Integer.MAX_VALUE || boundValue.intValue() == Integer.MIN_VALUE; } return super.isDefault(null); }
/** * {@inheritDoc} */ @Override public BasicIntegerPropertyDescriptor clone() { BasicIntegerPropertyDescriptor clonedDescriptor = (BasicIntegerPropertyDescriptor) super .clone(); return clonedDescriptor; }
/** * {@inheritDoc} */ @Override public BigDecimal getMaxValue() { BigDecimal max = super.getMaxValue(); if (max == null) { if (isUsingLong()) { max = new BigDecimal(Long.MAX_VALUE); } else { max = new BigDecimal(Integer.MAX_VALUE); } } return max; }
/** * {@inheritDoc} */ @Override public BigDecimal getMinValue() { BigDecimal min = super.getMinValue(); if (min == null) { if (isUsingLong()) { min = new BigDecimal(Long.MIN_VALUE); } else { min = new BigDecimal(Integer.MIN_VALUE); } } return min; }