23 package com.realtime.crossfire.jxclient.util;
25 import java.io.IOException;
26 import org.jetbrains.annotations.NotNull;
46 public static int parseInt(@NotNull
final String
string,
final int defaultValue) {
48 return Integer.parseInt(
string);
49 }
catch (
final NumberFormatException ignored) {
50 System.err.println(
"Warning: invalid value "+
string+
", using "+defaultValue+
" instead.");
64 public static int parseInt(@NotNull
final String
string,
final int defaultValue,
final int minValue,
final int maxValue) {
65 final int value =
parseInt(
string, defaultValue);
66 if (value < minValue || value > maxValue) {
67 System.err.println(
"Warning: invalid value "+
string+
", using "+defaultValue+
" instead.");
80 public static long parseLong(@NotNull
final String
string,
final long defaultValue) {
82 return Long.parseLong(
string);
83 }
catch (
final NumberFormatException ignored) {
84 System.err.println(
"Warning: invalid value "+
string+
", using "+defaultValue+
" instead.");
95 public static float parseFloat(@NotNull
final String str)
throws IOException {
97 return Float.parseFloat(str);
98 }
catch (
final NumberFormatException ex) {
99 throw new IOException(
"invalid number: "+str, ex);
109 public static boolean parseBoolean(@NotNull
final String str)
throws IOException {
111 return Boolean.parseBoolean(str);
112 }
catch (
final NumberFormatException ex) {
113 throw new IOException(
"invalid boolean: "+str, ex);
128 public static <T extends Enum<T>> T
parseEnum(@NotNull
final Class<T> class_, @NotNull
final String name, @NotNull
final String ident)
throws IOException {
130 return Enum.valueOf(class_, name);
131 }
catch (
final IllegalArgumentException ex) {
132 throw new IOException(
"no such "+ident+
" type: "+name, ex);