/** * Check if the passed object is an array or not. * * @param aObject * The object to be checked. May be <code>null</code>. * @return <code>true</code> if the passed object is not <code>null</code> and * represents an array. */ public static boolean isArray (@Nullable final Object aObject) { return aObject != null && ClassHelper.isArrayClass (aObject.getClass ()); }
@Nullable public static EContainerType getContainerTypeOfClass (@Nullable final Class <?> aClass) { if (aClass != null) { // Query Set before Collection, because Set is derived from Collection! if (Set.class.isAssignableFrom (aClass)) return EContainerType.SET; if (Collection.class.isAssignableFrom (aClass)) return EContainerType.COLLECTION; if (Map.class.isAssignableFrom (aClass)) return EContainerType.MAP; if (ClassHelper.isArrayClass (aClass)) return EContainerType.ARRAY; if (Iterator.class.isAssignableFrom (aClass)) return EContainerType.ITERATOR; if (Iterable.class.isAssignableFrom (aClass)) return EContainerType.ITERABLE; if (Enumeration.class.isAssignableFrom (aClass)) return EContainerType.ENUMERATION; } return null; }
@Nullable private static JSType _autoDetectJSType (final Class <?> aClass) { if (ClassHelper.isStringClass (aClass) || IPredefinedLocaleTextProvider.class.isAssignableFrom (aClass)) return JSType.STRING; if (ClassHelper.isCharacterClass (aClass)) return JSType.STRING; if (ClassHelper.isBooleanClass (aClass)) return JSType.BOOLEAN; if (ClassHelper.isFloatingPointClass (aClass)) return JSType.DOUBLE; if (ClassHelper.isIntegerClass (aClass)) return JSType.INT; if (ClassHelper.isArrayClass (aClass)) return new JSArrayType (JSType.AUTO_DETECT); if (IJSCodeProvider.class.isAssignableFrom (aClass)) return JSType.JS; if (Map.class.isAssignableFrom (aClass)) return new JSMapType (JSType.AUTO_DETECT, JSType.AUTO_DETECT); if (Collection.class.isAssignableFrom (aClass)) return new JSListType (JSType.AUTO_DETECT); if (IJSON.class.isAssignableFrom (aClass)) return JSType.JSON; s_aLogger.warn ("Failed to detect JS type of class " + aClass); return null; }
if (ClassHelper.isArrayClass (aClass)) return new ArrayHashCodeImplementation ();
if (ClassHelper.isArrayClass (aClass)) return new ArrayEqualsImplementation ();