public static BinaryFieldAccessor create(Field field,int id){
  BinaryWriteMode mode=BinaryUtils.mode(field.getType());
switch (mode) {
case P_BYTE:
    return new BytePrimitiveAccessor(field,id);
case P_BOOLEAN:
  return new BooleanPrimitiveAccessor(field,id);
case P_SHORT:
return new ShortPrimitiveAccessor(field,id);
case P_CHAR:
return new CharPrimitiveAccessor(field,id);
case P_INT:
return new IntPrimitiveAccessor(field,id);
case P_LONG:
return new LongPrimitiveAccessor(field,id);
case P_FLOAT:
return new FloatPrimitiveAccessor(field,id);
case P_DOUBLE:
return new DoublePrimitiveAccessor(field,id);
case BYTE:
case BOOLEAN:
case SHORT:
case CHAR:
case INT:
case LONG:
case FLOAT:
case DOUBLE:
case DECIMAL:
case STRING:
case UUID:
case DATE:
case TIMESTAMP:
case BYTE_ARR:
case SHORT_ARR:
case INT_ARR:
case LONG_ARR:
case FLOAT_ARR:
case DOUBLE_ARR:
case CHAR_ARR:
case BOOLEAN_ARR:
case DECIMAL_ARR:
case STRING_ARR:
case UUID_ARR:
case DATE_ARR:
case TIMESTAMP_ARR:
case ENUM_ARR:
case OBJECT_ARR:
case BINARY_OBJ:
case BINARY:
return new DefaultFinalClassAccessor(field,id,mode,false);
default :
return new DefaultFinalClassAccessor(field,id,mode,!U.isFinal(field.getType()));
}
}

public static BinaryFieldAccessor create ( Field field , int id ) { BinaryWriteMode mode = BinaryUtils . mode ( field . getType ( ) ) ; switch ( mode ) { case P_BYTE : return new BytePrimitiveAccessor ( field , id ) ; case P_BOOLEAN : return new BooleanPrimitiveAccessor ( field , id ) ; case P_SHORT : return new ShortPrimitiveAccessor ( field , id ) ; case P_CHAR : return new CharPrimitiveAccessor ( field , id ) ; case P_INT : return new IntPrimitiveAccessor ( field , id ) ; case P_LONG : return new LongPrimitiveAccessor ( field , id ) ; case P_FLOAT : return new FloatPrimitiveAccessor ( field , id ) ; case P_DOUBLE : return new DoublePrimitiveAccessor ( field , id ) ; case BYTE : case BOOLEAN : case SHORT : case CHAR : case INT : case LONG : case FLOAT : case DOUBLE : case DECIMAL : case STRING : case UUID : case DATE : case TIMESTAMP : case BYTE_ARR : case SHORT_ARR : case INT_ARR : case LONG_ARR : case FLOAT_ARR : case DOUBLE_ARR : case CHAR_ARR : case BOOLEAN_ARR : case DECIMAL_ARR : case STRING_ARR : case UUID_ARR : case DATE_ARR : case TIMESTAMP_ARR : case ENUM_ARR : case OBJECT_ARR : case BINARY_OBJ : case BINARY : return new DefaultFinalClassAccessor ( field , id , mode , false ) ; default : return new DefaultFinalClassAccessor ( field , id , mode , ! U . isFinal ( field . getType ( ) ) ) ; } }
create accessor for the field .
