package rocks.inspectit.shared.cs.cmr.property.update.impl; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import rocks.inspectit.shared.cs.cmr.property.configuration.SingleProperty; import rocks.inspectit.shared.cs.cmr.property.update.AbstractPropertyUpdate; /** * {@link AbstractPropertyUpdate} for percentage property. * * @author Ivan Senic * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "percentage-property-update") public class PercentagePropertyUpdate extends AbstractPropertyUpdate<Float> { /** * Update value. */ @XmlAttribute(name = "update-value", required = true) private Float updateValue; /** * No-arg constructor. */ protected PercentagePropertyUpdate() { } /** * Default constructor. * * @param property * Property update is related to. * @param updateValue * Updated value. */ public PercentagePropertyUpdate(SingleProperty<Float> property, Float updateValue) { super(property, updateValue); } /** * Gets {@link #updateValue}. * * @return {@link #updateValue} */ @Override public Float getUpdateValue() { return Float.valueOf(updateValue.floatValue() / 100f); } /** * Sets {@link #updateValue}. * * @param updateValue * New value for {@link #updateValue} */ @Override protected void setUpdateValue(Float updateValue) { this.updateValue = Float.valueOf(updateValue.floatValue() * 100f); } }