package de.axone.tools; import java.math.BigDecimal; import java.util.NoSuchElementException; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; public abstract class SA { // == String ===== public static String get( String value ){ if( value == null || value.trim().length() == 0 ) return null; return value; } public static String getDefault( String value, String defaultValue ){ String v = get( value ); return v != null ? v : defaultValue; } public static String getRequired( String value, String name ){ String v = get( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static String getRequired( String value, String name, String defaultValue ){ String v = getDefault( value, defaultValue ); if( v == null ) throw new NoSuchElementException( name ); return v; } // == Integer ===== public static Integer getInteger( String value ){ String v = get( value ); if( v == null ) return null; return Integer.parseInt( v ); } public static int getInteger( String value, int defaultValue ){ Integer v = getInteger( value ); if( v == null ) return defaultValue; return v; } public static int getIntegerRequired( String value, String name ){ Integer v = getInteger( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static int getIntegerRequired( String value, String name, Integer defaultValue ){ Integer v = getInteger( value ); if( v == null ) v=defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } // == Long ===== public static Long getLong( String value ){ String v = get( value ); if( v == null ) return null; return Long.parseLong( v ); } public static long getLong( String value, long defaultValue ){ Long v = getLong( value ); if( v == null ) return defaultValue; return v; } public static long getLongRequired( String value, String name ){ Long v = getLong( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static long getLongRequired( String value, String name, Long defaultValue){ Long v = getLong( value ); if( v == null ) v = defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } // == Double ===== public static Double getDouble( String value ){ String v = get( value ); if( v == null ) return null; return Double.parseDouble( v ); } public static double getDouble( String value, double defaultValue ){ Double v = getDouble( value ); if( v == null ) return defaultValue; return v; } public static double getDoubleRequired( String value, String name ){ Double v = getDouble( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static double getDoubleRequired( String value, String name, Double defaultValue ){ Double v = getDouble( value ); if( v == null ) v = defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } // == Boolean ===== @SuppressFBWarnings( value="NP_BOOLEAN_RETURN_NULL", justification="Api" ) public static Boolean getBoolean( String value ){ String v = get( value ); if( v == null ) return null; return EasyParser.yesOrNoOrNull( v ); } public static boolean getBoolean( String value, boolean defaultValue ){ Boolean v = getBoolean( value ); if( v == null ) return defaultValue; return v; } public static boolean getBooleanRequired( String value, String name ){ Boolean v = getBoolean( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static boolean getBooleanRequired( String value, String name, boolean defaultValue ){ Boolean v = getBoolean( value ); if( v == null ) v = defaultValue; return v; } // == BigDecimal ===== public static BigDecimal getBigDecimal( String value ){ String v = get( value ); if( v == null ) return null; return new BigDecimal( v ); } public static BigDecimal getBigDecimal( String value, BigDecimal defaultValue ){ BigDecimal v = getBigDecimal( value ); if( v == null ) return defaultValue; return v; } public static BigDecimal getBigDecimalRequired( String value, String name ){ BigDecimal v = getBigDecimal( value ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static BigDecimal getBigDecimalRequired( String value, String name, BigDecimal defaultValue ){ BigDecimal v = getBigDecimal( value ); if( v == null ) v = defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } // == Enumeration ===== public static <T extends Enum<T>> T getEnum( String value, Class<T> clazz ){ String v = get( value ); if( v == null ) return null; return Enum.valueOf( clazz, v ); } public static <T extends Enum<T>> T getEnum( String value, Class<T> clazz, T defaultValue ){ T v = getEnum( value, clazz ); if( v == null ) return defaultValue; return v; } public static <T extends Enum<T>> T getEnumRequired( String value, Class<T> clazz, String name ){ T v = getEnum( value, clazz ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static <T extends Enum<T>> T getEnumRequired( String value, Class<T> clazz, String name, T defaultValue ){ T v = getEnum( value, clazz ); if( v == null ) v = defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } // == Instances ===== /* public static <T> T getNewInstance( String value, Class<T> clazz, String name ) throws InstantiationException, IllegalAccessException{ String v = get( value, name ); if( v == null ) return null; return clazz.newInstance(); } public static <T> T getNewInstance( String value, Class<T> clazz, String name, Class<T> defaultValue ) throws InstantiationException, IllegalAccessException{ T v = getNewInstance( value, clazz, name ); if( v == null ) return defaultValue; return v; } public static <T> T getNewInstanceRequired( String value, Class<T> clazz, String name ) throws InstantiationException, IllegalAccessException{ T v = getNewInstance( value, clazz, name ); if( v == null ) throw new NoSuchElementException( name ); return v; } public static <T> T getNewInstanceRequired( String value, Class<T> clazz, String name, T defaultValue ) throws InstantiationException, IllegalAccessException{ T v = getNewInstance( value, clazz, name ); if( v == null ) v = defaultValue; if( v == null ) throw new NoSuchElementException( name ); return v; } */ }