hollow/src/main/java/com/netflix/hollow/core/read/HollowReadFieldUtils.java
public static int fieldHashCode(HollowObjectTypeDataAccess typeAccess, int ordinal, int fieldPosition) {
        HollowObjectSchema schema = typeAccess.getSchema();

        switch(schema.getFieldType(fieldPosition)) {
            case BOOLEAN:
                Boolean bool = typeAccess.readBoolean(ordinal, fieldPosition);
                return booleanHashCode(bool);
            case BYTES:
            case STRING:
                return typeAccess.findVarLengthFieldHashCode(ordinal, fieldPosition);
            case DOUBLE:
                double d = typeAccess.readDouble(ordinal, fieldPosition);
                return doubleHashCode(d);
            case FLOAT:
                float f = typeAccess.readFloat(ordinal, fieldPosition);
                return floatHashCode(f);
            case INT:
                return intHashCode(typeAccess.readInt(ordinal, fieldPosition));
            case LONG:
                long l = typeAccess.readLong(ordinal, fieldPosition);
                return longHashCode(l);
            case REFERENCE:
                return typeAccess.readOrdinal(ordinal, fieldPosition);
        }

        throw new IllegalStateException("I don't know how to hash a " + schema.getFieldType(fieldPosition));
    }
public static int fieldHashCode(HollowObjectTypeDataAccess typeAccess, int ordinal, int fieldPosition) {
        HollowObjectSchema schema = typeAccess.getSchema();

        switch(schema.getFieldType(fieldPosition)) {
            case BOOLEAN:
                Boolean bool = typeAccess.readBoolean(ordinal, fieldPosition);
                return booleanHashCode(bool);
            case BYTES:
            case STRING:
                return typeAccess.findVarLengthFieldHashCode(ordinal, fieldPosition);
            case DOUBLE:
                double d = typeAccess.readDouble(ordinal, fieldPosition);
                return doubleHashCode(d);
            case FLOAT:
                float f = typeAccess.readFloat(ordinal, fieldPosition);
                return floatHashCode(f);
            case INT:
                return intHashCode(typeAccess.readInt(ordinal, fieldPosition));
            case LONG:
                long l = typeAccess.readLong(ordinal, fieldPosition);
                return longHashCode(l);
            case REFERENCE:
                return typeAccess.readOrdinal(ordinal, fieldPosition);
        }

        throw new IllegalStateException("I don't know how to hash a " + schema.getFieldType(fieldPosition));
    }
public static int fieldHashCode ( HollowObjectTypeDataAccess typeAccess , int ordinal , int fieldPosition ) { HollowObjectSchema schema = typeAccess . getSchema ( ) ; switch ( schema . getFieldType ( fieldPosition ) ) { case BOOLEAN : Boolean bool = typeAccess . readBoolean ( ordinal , fieldPosition ) ; return booleanHashCode ( bool ) ; case BYTES : case STRING : return typeAccess . findVarLengthFieldHashCode ( ordinal , fieldPosition ) ; case DOUBLE : double d = typeAccess . readDouble ( ordinal , fieldPosition ) ; return doubleHashCode ( d ) ; case FLOAT : float f = typeAccess . readFloat ( ordinal , fieldPosition ) ; return floatHashCode ( f ) ; case INT : return intHashCode ( typeAccess . readInt ( ordinal , fieldPosition ) ) ; case LONG : long l = typeAccess . readLong ( ordinal , fieldPosition ) ; return longHashCode ( l ) ; case REFERENCE : return typeAccess . readOrdinal ( ordinal , fieldPosition ) ; } throw new IllegalStateException ( "I don't know how to hash a " + schema . getFieldType ( fieldPosition ) ) ; }
Hash a field in an OBJECT record.

@param typeAccess the data access
@param ordinal the ordinal
@param fieldPosition the field position
@return the hash code
Hash a field in an OBJECT record .