| Index: src/com/github/rjeschke/neetutils/Objects.java | 
| diff --git a/src/com/github/rjeschke/neetutils/Objects.java b/src/com/github/rjeschke/neetutils/Objects.java | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..aa2ba1ab4969948d0d06acbbbd7cd454f0dde470 | 
| --- /dev/null | 
| +++ b/src/com/github/rjeschke/neetutils/Objects.java | 
| @@ -0,0 +1,135 @@ | 
| +/* | 
| + * Copyright (C) 2012 René Jeschke <rene_jeschke@yahoo.de> | 
| + * | 
| + * Licensed under the Apache License, Version 2.0 (the "License"); | 
| + * you may not use this file except in compliance with the License. | 
| + * You may obtain a copy of the License at | 
| + * | 
| + * http://www.apache.org/licenses/LICENSE-2.0 | 
| + * | 
| + * Unless required by applicable law or agreed to in writing, software | 
| + * distributed under the License is distributed on an "AS IS" BASIS, | 
| + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| + * See the License for the specific language governing permissions and | 
| + * limitations under the License. | 
| + */ | 
| +package com.github.rjeschke.neetutils; | 
| + | 
| +import java.util.Collection; | 
| +import java.util.List; | 
| +import java.util.Map; | 
| + | 
| +/** | 
| + * | 
| + * @author René Jeschke (rene_jeschke@yahoo.de) | 
| + */ | 
| +public final class Objects | 
| +{ | 
| + private Objects() | 
| + { | 
| + // | 
| + } | 
| + | 
| + @Deprecated | 
| + public final static boolean implementsInterface(final Object o, final Class<?> interfaceClass) | 
| + { | 
| + return implementsInterface(o.getClass(), interfaceClass); | 
| + } | 
| + | 
| + @Deprecated | 
| + public final static boolean implementsInterface(final Class<?> clazz, final Class<?> interfaceClass) | 
| + { | 
| + if (clazz.equals(interfaceClass)) | 
| + { | 
| + return true; | 
| + } | 
| + final Class<?>[] is = clazz.getInterfaces(); | 
| + for (int i = 0; i < is.length; i++) | 
| + { | 
| + if (is[i].equals(interfaceClass)) | 
| + { | 
| + return true; | 
| + } | 
| + } | 
| + return false; | 
| + } | 
| + | 
| + public final static boolean isString(final Object o) | 
| + { | 
| + return o instanceof String; | 
| + } | 
| + | 
| + public final static boolean isBoolean(final Object o) | 
| + { | 
| + return o instanceof Boolean; | 
| + } | 
| + | 
| + public final static boolean isNumber(final Object o) | 
| + { | 
| + return o instanceof Number; | 
| + } | 
| + | 
| + public final static boolean isMap(final Object o) | 
| + { | 
| + return o instanceof Map; | 
| + } | 
| + | 
| + public final static boolean isList(final Object o) | 
| + { | 
| + return o instanceof List; | 
| + } | 
| + | 
| + public final static boolean isCollection(final Object o) | 
| + { | 
| + return o instanceof Collection; | 
| + } | 
| + | 
| + public final static boolean equals(final Object a, final Object b) | 
| + { | 
| + if (a == b) | 
| + { | 
| + return true; | 
| + } | 
| + | 
| + if (a == null) | 
| + { | 
| + return b == null; | 
| + } | 
| + | 
| + if (a.getClass() != b.getClass()) | 
| + { | 
| + return false; | 
| + } | 
| + | 
| + return a.equals(b); | 
| + } | 
| + | 
| + public final static boolean isNullOrEmpty(final Object obj) | 
| + { | 
| + if (obj == null) | 
| + { | 
| + return true; | 
| + } | 
| + | 
| + if (obj instanceof Collection) | 
| + { | 
| + return ((Collection<?>)obj).isEmpty(); | 
| + } | 
| + if (obj instanceof Map) | 
| + { | 
| + return ((Map<?, ?>)obj).isEmpty(); | 
| + } | 
| + if (obj instanceof String) | 
| + { | 
| + return ((String)obj).length() == 0; | 
| + } | 
| + | 
| + return false; | 
| + } | 
| + | 
| + @SuppressWarnings("unchecked") | 
| + public final static <A> A uncheckedCast(final Object a) | 
| + { | 
| + return (A)a; | 
| + } | 
| +} |