private void writeValue(Object value, Schema s, int column) throws IOException { switch (s.getType()) { case STRING: if (value instanceof Utf8) // convert Utf8 to String value = value.toString(); break; case ENUM: if (value instanceof Enum) value = ((Enum)value).ordinal(); else value = s.getEnumOrdinal(value.toString()); break; case FIXED: value = ((GenericFixed)value).bytes(); break; } writer.writeValue(value, column); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { if (!data.isEnum(datum)) throw new AvroTypeException("Not an enum: "+datum); out.writeEnum(schema.getEnumOrdinal(datum.toString())); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { if (!data.isEnum(datum)) throw new AvroTypeException("Not an enum: "+datum); out.writeEnum(schema.getEnumOrdinal(datum.toString())); }
@Override protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { if (!(datum instanceof EnumValueDescriptor)) super.writeEnum(schema, datum, out); // punt to generic else out.writeEnum (schema.getEnumOrdinal(((EnumValueDescriptor)datum).getName())); }
return s.getEnumOrdinal(o1.toString()) - s.getEnumOrdinal(o2.toString()); case ARRAY: Collection a1 = (Collection)o1;
return hashCode(o, s.getTypes().get(resolveUnion(s, o))); case ENUM: return s.getEnumOrdinal(o.toString()); case NULL: return 0;
return hashCode(o, s.getTypes().get(resolveUnion(s, o))); case ENUM: return s.getEnumOrdinal(o.toString()); case NULL: return 0;
return s.getEnumOrdinal(o1.toString()) - s.getEnumOrdinal(o2.toString()); case ARRAY: Collection a1 = (Collection)o1;
e.writeEnum(s.getEnumOrdinal(n.textValue())); break; case ARRAY:
dout.addNumCol(cIdx, es.getSchema().getEnumOrdinal(es.toString())); break; case BYTES:
e.writeEnum(s.getEnumOrdinal(n.getTextValue())); break; case ARRAY:
@Override public int getEnumOrdinal(final String symbol) { return wrapped.getEnumOrdinal(symbol); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { out.writeEnum(schema.getEnumOrdinal((String)datum)); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { out.writeEnum(schema.getEnumOrdinal(datum.toString())); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { out.writeEnum(schema.getEnumOrdinal(datum.toString())); }
private void writeValue(Object value, Schema s, int column) throws IOException { switch (s.getType()) { case STRING: if (value instanceof Utf8) // convert Utf8 to String value = value.toString(); break; case ENUM: if (value instanceof Enum) value = ((Enum)value).ordinal(); else value = s.getEnumOrdinal(value.toString()); break; case FIXED: value = ((GenericFixed)value).bytes(); break; } writer.writeValue(value, column); }
/** Called to write an enum value. May be overridden for alternate enum * representations.*/ protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { if (!data.isEnum(datum)) throw new AvroTypeException("Not an enum: "+datum); out.writeEnum(schema.getEnumOrdinal(datum.toString())); }
@Override protected void writeEnum(Schema schema, Object datum, Encoder out) throws IOException { if (!(datum instanceof EnumValueDescriptor)) super.writeEnum(schema, datum, out); // punt to generic else out.writeEnum (schema.getEnumOrdinal(((EnumValueDescriptor)datum).getName())); }
private static int reflectAwareHashCode(Object o, Schema s) { if (o == null) return 0; // incomplete datum int hashCode = 1; switch (s.getType()) { case RECORD: for (Schema.Field f : s.getFields()) { if (f.order() == Schema.Field.Order.IGNORE) continue; hashCode = hashCodeAdd(hashCode, ReflectData.get().getField(o, f.name(), f.pos()), f.schema()); } return hashCode; case ARRAY: Collection<?> a = (Collection<?>) o; Schema elementType = s.getElementType(); for (Object e : a) hashCode = hashCodeAdd(hashCode, e, elementType); return hashCode; case UNION: return reflectAwareHashCode(o, s.getTypes().get(ReflectData.get().resolveUnion(s, o))); case ENUM: return s.getEnumOrdinal(o.toString()); case NULL: return 0; case STRING: return (o instanceof Utf8 ? o : new Utf8(o.toString())).hashCode(); default: return o.hashCode(); } }
private static int reflectAwareHashCode(Object o, Schema s, AvroMode mode) { if (o == null) return 0; // incomplete datum int hashCode = 1; switch (s.getType()) { case RECORD: for (Schema.Field f : s.getFields()) { if (f.order() == Schema.Field.Order.IGNORE) continue; hashCode = hashCodeAdd(hashCode, mode.getData().getField(o, f.name(), f.pos()), f.schema(), mode); } return hashCode; case ARRAY: Collection<?> a = (Collection<?>) o; Schema elementType = s.getElementType(); for (Object e : a) hashCode = hashCodeAdd(hashCode, e, elementType, mode); return hashCode; case UNION: return reflectAwareHashCode(o, s.getTypes().get(mode.getData().resolveUnion(s, o)), mode); case ENUM: return s.getEnumOrdinal(o.toString()); case NULL: return 0; case STRING: return (o instanceof Utf8 ? o : new Utf8(o.toString())).hashCode(); default: return o.hashCode(); } }