/** * Internal routine to read enum for named field. * * @param cls Class. * @return Value. * @throws BinaryObjectException In case of error. */ private Enum<?> readEnum0(@Nullable Class<?> cls) throws BinaryObjectException { if (checkFlagNoHandles(ENUM) == Flag.NORMAL) { // Read class even if we know it in advance to set correct stream position. Class<?> cls0 = BinaryUtils.doReadClass(in, ctx, ldr); if (cls == null) cls = cls0; return BinaryUtils.doReadEnum(in, cls); } else return null; }
obj = BinaryUtils.doReadEnum(in, BinaryUtils.doReadClass(in, ctx, ldr));
obj = BinaryUtils.doReadEnum(in, BinaryUtils.doReadClass(in, ctx, ldr));
/** * @param cls Enum class. * @return Value. */ public static Object[] doReadEnumArray(BinaryInputStream in, BinaryContext ctx, ClassLoader ldr, Class<?> cls) throws BinaryObjectException { int len = in.readInt(); Object[] arr = (Object[])Array.newInstance(cls, len); for (int i = 0; i < len; i++) { byte flag = in.readByte(); if (flag == GridBinaryMarshaller.NULL) arr[i] = null; else arr[i] = doReadEnum(in, doReadClass(in, ctx, ldr)); } return arr; }
/** * Internal routine to read enum for named field. * * @param cls Class. * @return Value. * @throws BinaryObjectException In case of error. */ private Enum<?> readEnum0(@Nullable Class<?> cls) throws BinaryObjectException { if (checkFlagNoHandles(ENUM) == Flag.NORMAL) { // Read class even if we know it in advance to set correct stream position. Class<?> cls0 = BinaryUtils.doReadClass(in, ctx, ldr); if (cls == null) cls = cls0; return BinaryUtils.doReadEnum(in, cls); } else return null; }
/** * @param cls Enum class. * @return Value. */ public static Object[] doReadEnumArray(BinaryInputStream in, BinaryContext ctx, ClassLoader ldr, Class<?> cls) throws BinaryObjectException { int len = in.readInt(); Object[] arr = (Object[])Array.newInstance(cls, len); for (int i = 0; i < len; i++) { byte flag = in.readByte(); if (flag == GridBinaryMarshaller.NULL) arr[i] = null; else arr[i] = doReadEnum(in, doReadClass(in, ctx, ldr)); } return arr; }