/*******************************************************************************
* Copyright (c) quickfixengine.org All rights reserved.
*
* This file is part of the QuickFIX FIX Engine
*
* This file may be distributed under the terms of the quickfixengine.org
* license as defined by quickfixengine.org and appearing in the file
* LICENSE included in the packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
* THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* See http://www.quickfixengine.org/LICENSE for licensing information.
*
* Contact ask@quickfixengine.org if any conditions of this licensing
* are not clear to you.
******************************************************************************/
package quickfix.field.converter;
import quickfix.FieldConvertError;
/**
* Convert between an integer and a String
*/
public final class IntConverter {
/**
* Convert and integer to a String
* @param i the integer to convert
* @return the String representing the integer
* @see java.lang.Long#toString(long)
*/
public static String convert(int i) {
return Long.toString(i);
}
/**
* Convert a String to an integer.
* @param value the String to convert
* @return the converted integer
* @throws FieldConvertError raised if the String does not represent a
* valid integer.
* @see java.lang.Integer#parseInt(String)
*/
public static int convert(String value) throws FieldConvertError {
try {
for (int i = 0; i < value.length(); i++) {
if (!Character.isDigit(value.charAt(i)) && !(i == 0 && value.charAt(i) == '-')) {
throw new FieldConvertError("invalid integral value: " + value);
}
}
return Integer.parseInt(value);
} catch (NumberFormatException e) {
throw new FieldConvertError("invalid integral value: " + value + ": " + e);
}
}
}