Package com.netflix.zeno.fastblob.record.schema.FastBlobSchema

Examples of com.netflix.zeno.fastblob.record.schema.FastBlobSchema.FieldType


        long currentPosition = objectBeginOffset;

        for(int i=0;i<fieldPointers.length;i++) {
            fieldPointers[i] = currentPosition;

            FieldType type = getSchema().getFieldType(i);

            currentPosition += fieldLength(currentPosition, type);
        }

        return (int)(currentPosition - objectBeginOffset);
View Full Code Here


     *
     * @param buf
     */
    public void writeDataTo(ByteDataBuffer buf) {
        for (int i = 0; i < fieldData.length; i++) {
            FieldType fieldType = getSchema().getFieldType(i);
            if (isNonNull[i]) {
                if (fieldType.startsWithVarIntEncodedLength()) {
                    VarInt.writeVInt(buf, (int)fieldData[i].length());
                }
                fieldData[i].copyTo(buf);
            } else {
                if(fieldType == FieldType.FLOAT) {
View Full Code Here

     */
    public int sizeOfData() {
        int dataSize = 0;

        for (int i = 0; i < fieldData.length; i++) {
            FieldType fieldType = getSchema().getFieldType(i);
            if (isNonNull[i]) {
                if (fieldType.startsWithVarIntEncodedLength()) {
                    dataSize += VarInt.sizeOfVInt((int)fieldData[i].length());
                }

                dataSize += fieldData[i].length();
            } else {
View Full Code Here

    public void serializeString(FastBlobSerializationRecord rec, String fieldName, String value) {
        if(value == null)
            return;

        int position = rec.getSchema().getPosition(fieldName);
        FieldType fieldType = rec.getSchema().getFieldType(position);

        if(fieldType != FieldType.STRING)
            throw new IllegalArgumentException("Attempting to serialize a String as " + fieldType + " in field " + fieldName + ".  Carefully check your schema for type " + rec.getSchema().getName() + ".");

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(position);
View Full Code Here

     * Serialize an integer, use zig-zag encoding to (probably) get a small positive value, then encode the result as a variable-byte integer.
     */
    @Override
    public void serializePrimitive(FastBlobSerializationRecord rec, String fieldName, int value) {
        int position = rec.getSchema().getPosition(fieldName);
        FieldType fieldType = rec.getSchema().getFieldType(position);

        if(fieldType != FieldType.INT && fieldType != FieldType.LONG)
            throw new IllegalArgumentException("Attempting to serialize an int as " + fieldType + " in field " + fieldName + ".  Carefully check your schema for type " + rec.getSchema().getName() + ".");


View Full Code Here

        long currentPosition = objectBeginOffset;

        for(int i=0;i<fieldPointers.length;i++) {
            fieldPointers[i] = currentPosition;

            FieldType type = getSchema().getFieldType(i);

            currentPosition += fieldLength(currentPosition, type);
        }

        return (int)(currentPosition - objectBeginOffset);
View Full Code Here

     * Serialize a long, use zig-zag encoding to (probably) get a small positive value, then encode the result as a variable-byte long.
     */
    @Override
    public void serializePrimitive(FastBlobSerializationRecord rec, String fieldName, long value) {
        int position = rec.getSchema().getPosition(fieldName);
        FieldType fieldType = rec.getSchema().getFieldType(position);

        if(fieldType != FieldType.LONG)
            throw new IllegalArgumentException("Attempting to serialize a long as " + fieldType + " in field " + fieldName + ".  Carefully check your schema for type " + rec.getSchema().getName() + ".");


View Full Code Here

     * Serialize a float into 4 consecutive bytes
     */
    @Override
    public void serializePrimitive(FastBlobSerializationRecord rec, String fieldName, float value) {
        int position = rec.getSchema().getPosition(fieldName);
        FieldType fieldType = rec.getSchema().getFieldType(position);

        if(fieldType != FieldType.FLOAT) {
            throw new IllegalArgumentException("Attempting to serialize a float as " + fieldType + " in field " + fieldName + ".  Carefully check your schema for type " + rec.getSchema().getName() + ".");
        }

View Full Code Here

    /**
     * get the length of the specified field for this record
     */
    public int getFieldLength(String fieldName) {
        int fieldPosition = getSchema().getPosition(fieldName);
        FieldType fieldType = getSchema().getFieldType(fieldPosition);

        return fieldLength(fieldPointers[fieldPosition], fieldType);
    }
View Full Code Here

     * Serialize a double into 8 consecutive bytes
     */
    @Override
    public void serializePrimitive(FastBlobSerializationRecord rec, String fieldName, double value) {
        int position = rec.getSchema().getPosition(fieldName);
        FieldType fieldType = rec.getSchema().getFieldType(position);

        if(fieldType != FieldType.DOUBLE)
            throw new IllegalArgumentException("Attempting to serialize a double as " + fieldType + " in field " + fieldName + ".  Carefully check your schema for type " + rec.getSchema().getName() + ".");

        ByteDataBuffer fieldBuffer = rec.getFieldBuffer(position);
View Full Code Here

TOP

Related Classes of com.netflix.zeno.fastblob.record.schema.FastBlobSchema.FieldType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.