forked from geodmms/xdgnjobs

?? ?
2008-04-14 7840e31dd97db0efe77bdf859ac2fe9767d3dd1a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.ximple.eofms.util;
 
import java.util.Collection;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
 
import com.vividsolutions.jts.util.Assert;
 
/**
 * Created by IntelliJ IDEA.
 * User: Ulysses
 * Date: 2007/6/15
 * Time: 上午 01:21:25
 * To change this template use File | Settings | File Templates.
 */
public class LangUtil
{
    private static Map primitiveToWrapperMap = new HashMap()
    {
 
        {
            put(byte.class, Byte.class);
            put(char.class, Character.class);
            put(short.class, Short.class);
            put(int.class, Integer.class);
            put(long.class, Long.class);
            put(float.class, Float.class);
            put(double.class, Double.class);
            put(boolean.class, Boolean.class);
        }
    };
 
    public static String emptyStringIfNull(String s)
    {
        return (s == null) ? "" : s;
    }
 
    /**
     * Useful because an expression used to generate o need only be
     * evaluated once.
     */
    public static Object ifNull(Object o, Object alternative)
    {
        return (o == null) ? alternative : o;
    }
 
    public static Object ifNotNull(Object o, Object alternative)
    {
        return (o != null) ? alternative : o;
    }
 
    public static Class toPrimitiveWrapperClass(Class primitiveClass)
    {
        return (Class) primitiveToWrapperMap.get(primitiveClass);
    }
 
    public static boolean isPrimitive(Class c)
    {
        return primitiveToWrapperMap.containsKey(c);
    }
 
    public static boolean bothNullOrEqual(Object a, Object b)
    {
        return (a == null && b == null) || (a != null && b != null && a.equals(b));
    }
 
    public static Object newInstance(Class c)
    {
        try
        {
            return c.newInstance();
        } catch (Exception e)
        {
            Assert.shouldNeverReachHere(e.toString());
            return null;
        }
    }
 
    public static Collection classesAndInterfaces(Class c)
    {
        ArrayList classesAndInterfaces = new ArrayList();
        classesAndInterfaces.add(c);
        superclasses(c, classesAndInterfaces);
        for (Iterator i = new ArrayList(classesAndInterfaces).iterator(); i.hasNext();)
        {
            Class x = (Class) i.next();
            classesAndInterfaces.addAll(Arrays.asList(x.getInterfaces()));
        }
        return classesAndInterfaces;
    }
 
    private static void superclasses(Class c, Collection results)
    {
        if (c.getSuperclass() == null)
        {
            return;
        }
        results.add(c.getSuperclass());
        superclasses(c.getSuperclass(), results);
    }
}