private TypeInfo createTypeInfo(Object value) { TypeInfo typeInfo = new TypeInfo(); String className = value.getClass().getName(); if (className.contains(Integer.class.getName())) { typeInfo.mBaseType = ValueType.INTEGER; typeInfo.mType = ValueType.INTEGER; } else if (className.contains(Double.class.getName())) { typeInfo.mBaseType = ValueType.DOUBLE; typeInfo.mType = ValueType.DOUBLE; } else if (className.contains(Boolean.class.getName())) { typeInfo.mBaseType = ValueType.BOOLEAN; typeInfo.mType = ValueType.BOOLEAN; } else if (className.contains(String.class.getName())) { typeInfo.mBaseType = ValueType.STRING; typeInfo.mType = ValueType.STRING; } else if (className.contains(SimulatorResourceModel.class.getName())) { typeInfo.mBaseType = ValueType.RESOURCEMODEL; typeInfo.mType = ValueType.RESOURCEMODEL; } // For array types if (value.getClass().isArray()) { typeInfo.mType = ValueType.ARRAY; for (char ch : className.toCharArray()) { if (ch == '[') typeInfo.mDepth++; } } return typeInfo; }