blob: a790457d0b70d60eb1c8dc18104e9b00fd058c93 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2012 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
package org.eclipse.jpt.common.utility.internal;
/**
* Interface for a container for holding an <code>int</code> that cannot be
* changed by clients.
*/
public interface IntReference
extends Comparable<IntReference>
{
/**
* Return the current <code>int</code> value.
*/
int getValue();
/**
* Return whether the current <code>int</code> value is equal to the
* specified value.
*/
boolean equals(int v);
/**
* Return whether the current <code>int</code> value is not equal to
* the specified value.
*/
boolean notEqual(int v);
/**
* Return whether the current <code>int</code> value is zero.
*/
boolean isZero();
/**
* Return whether the current <code>int</code> value is not zero.
*/
boolean isNotZero();
/**
* Return whether the current <code>int</code> value is greater than
* the specified value.
*/
boolean isGreaterThan(int v);
/**
* Return whether the current <code>int</code> value is greater than
* or equal to the specified value.
*/
boolean isGreaterThanOrEqual(int v);
/**
* Return whether the current <code>int</code> value is less than
* the specified value.
*/
boolean isLessThan(int v);
/**
* Return whether the current <code>int</code> value is less than
* or equal to the specified value.
*/
boolean isLessThanOrEqual(int v);
/**
* Return whether the current <code>int</code> value is positive.
*/
boolean isPositive();
/**
* Return whether the current <code>int</code> value is not positive
* (i.e. negative or zero).
*/
boolean isNotPositive();
/**
* Return whether the current <code>int</code> value is negative.
*/
boolean isNegative();
/**
* Return whether the current <code>int</code> value is not negative
* (i.e. zero or positive).
*/
boolean isNotNegative();
/**
* Return the absolute value of the current <code>int</code> value.
*/
int abs();
/**
* Return the negative value of the current <code>int</code> value.
*/
int neg();
/**
* Return the current <code>int</code> value plus the specified value.
*/
int add(int v);
/**
* Return current <code>int</code> value minus the specified value.
*/
int subtract(int v);
/**
* Return current <code>int</code> value multiplied by the specified value.
*/
int multiply(int v);
/**
* Return current <code>int</code> value divided by the specified value.
*/
int divide(int v);
/**
* Return the remainder of the current <code>int</code> value divided by
* the specified value.
*/
int remainder(int v);
/**
* Return the minimum of the current <code>int</code> value and
* the specified value.
*/
int min(int v);
/**
* Return the maximum of the current <code>int</code> value and
* the specified value.
*/
int max(int v);
/**
* Return the current <code>int</code> value raised to the power
* of the specified value.
*/
double pow(int v);
}