*/
package org.opendaylight.yangtools.util;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableSet;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.util.Collections;
-import java.util.HashSet;
import java.util.Set;
-
import org.opendaylight.yangtools.concepts.Immutable;
import org.opendaylight.yangtools.concepts.Mutable;
throw new UnsupportedOperationException("Helper class");
}
- public static final Set<Class<?>> KNOWN_IMMUTABLES = Immutables.<Class<?>> asHashSet(
- //
+ public static final Set<Class<?>> KNOWN_IMMUTABLES = ImmutableSet.of(
Integer.class, Short.class, BigDecimal.class, BigInteger.class, Byte.class, Character.class, Double.class,
- Float.class, String.class);
+ Float.class, String.class, Boolean.class, Void.class);
/**
* Determines if object is known to be immutable
*
- * Note: This method may return false to immutable objects which
+ * <p>Note: This method may return false to immutable objects which
* immutability is not known, was defined not using concepts term.
*
* @param o
* @return true if object is known to be immutable false otherwise.
*/
public static boolean isImmutable(final Object o) {
- if (o == null) {
- throw new IllegalArgumentException("Object should not be null");
- }
+ Preconditions.checkArgument(o != null,"Object should not be null");
if (o instanceof Mutable) {
return false;
} else if (o instanceof Immutable) {
}
return false;
}
-
- @SafeVarargs
- private static <E> Set<E> asHashSet(final E... list) {
- HashSet<E> ret = new HashSet<>();
- for (E e : list) {
- ret.add(e);
- }
- return Collections.unmodifiableSet(ret);
- }
}