public static boolean isSimple(Object target) { return kindOf(target).isConcrete(); }
protected static byte code(TypeKind kind) { int ordinal = kind.ordinal(); assert ordinal < 128; return (byte) ordinal; }
@Override public List<String> getManageableProperties() { BeanProperties props = Beany.propertiesOf(source()); List<String> ps = U.list(); for (Prop prop : props) { if (!prop.getName().contains("manageable")) { TypeKind kind = Cls.kindOf(prop.getType()); if (kind.isPrimitive() || kind.isNumber() || kind.isArray() || kind == TypeKind.STRING || kind == TypeKind.DATE) { ps.add(prop.getName()); } } } return ps; }
protected static TypeKind kind(int kindCode) { return TypeKind.values()[kindCode]; }
public static TypeKind kindOf(Object value) { return TypeKind.of(value); }
public static boolean isNumber(Object target) { return kindOf(target).isNumber(); }
TypeKind kind = Cls.kindOf(type); if (kind.isSimple()) {
public static Object decode(ByteBuffer buf) { byte kindCode = buf.get(); TypeKind kind = TypeKind.values()[kindCode];
return new BeanParamRetriever(customization, type, name, valid != null); } else if (Cls.kindOf(type).isConcrete()) { return new DataParamRetriever(type, name, required != null);
public static void encode(long value, ByteBuffer buf) { buf.put((byte) TypeKind.LONG.ordinal()); buf.putLong(value); }
return new BeanParamRetriever(customization, type, name, valid != null); } else if (Cls.kindOf(type).isConcrete()) { return new DataParamRetriever(type, name, required != null);
public static long decodeLong(ByteBuffer buf) { U.must(buf.get() == TypeKind.LONG.ordinal()); return buf.getLong(); }
public static void encode(Object value, ByteBuffer buf) { TypeKind kind = Cls.kindOf(value); int ordinal = kind.ordinal(); assert ordinal < 128;