com.liferay.portal.kernel.increment.OverrideIncrement Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.portal.kernel Show documentation
Show all versions of com.liferay.portal.kernel Show documentation
Contains interfaces for the portal services. Interfaces are only loaded by the global class loader and are shared by all plugins.
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.portal.kernel.increment;
/**
* @author Shuyang Zhou
*/
public abstract class OverrideIncrement>
implements Increment {
public OverrideIncrement(T value) {
this.value = value;
}
@Override
public void decrease(T delta) {
if (value.compareTo(delta) > 0) {
value = delta;
}
}
@Override
public OverrideIncrement decreaseForNew(T delta) {
if (value.compareTo(delta) < 0) {
delta = value;
}
return createOverrideIncrement(delta);
}
@Override
public T getValue() {
return value;
}
@Override
public void increase(T delta) {
if (value.compareTo(delta) < 0) {
value = delta;
}
}
@Override
public OverrideIncrement increaseForNew(T delta) {
if (value.compareTo(delta) > 0) {
delta = value;
}
return createOverrideIncrement(delta);
}
@Override
public void setValue(T value) {
this.value = value;
}
protected abstract OverrideIncrement createOverrideIncrement(T value);
protected T value;
}