public Object createArray()

in mr/src/main/java/org/elasticsearch/hadoop/mr/WritableValueReader.java [37:90]


    public Object createArray(FieldType type) {
        Class<? extends Writable> arrayType = null;

        switch (type) {
        case NULL:
            arrayType = NullWritable.class;
            break;
        case STRING:
        case KEYWORD:
        case TEXT:
            arrayType = Text.class;
            break;
        case BYTE:
            arrayType = byteType();
            break;
        case SHORT:
            arrayType = shortType();
            break;
        case INTEGER:
            arrayType = IntWritable.class;
            break;
        case TOKEN_COUNT:
        case LONG:
            arrayType = LongWritable.class;
            break;
        case HALF_FLOAT:
        case SCALED_FLOAT:
        case FLOAT:
            arrayType = FloatWritable.class;
            break;
        case DOUBLE:
            arrayType = doubleType();
            break;
        case BOOLEAN:
            arrayType = BooleanWritable.class;
            break;
        case DATE:
        case DATE_NANOS:
            arrayType = dateType();
            break;
        case BINARY:
            arrayType = BytesWritable.class;
            break;
        case OBJECT:
        case NESTED:
            arrayType = LinkedMapWritable.class;
            break;
            // everything else gets translated to String
        default:
            arrayType = Text.class;
        }

        return new WritableArrayWritable(arrayType);
    }