/** * Method to retrieve text values from the value object, which can be overridden * by subclasses. * * @param obj value * @return Text text value from obj */ Text getTextValue(Object obj) { return ((StringObjectInspector) inspector).getPrimitiveWritableObject(obj); }
@Override public boolean equals(Object other) { if (!(other instanceof TextKeyWrapper)) { return false; } Object obj = ((TextKeyWrapper) other).key; Text t1; Text t2; if (isCopy) { t1 = soi_copy.getPrimitiveWritableObject(key); t2 = soi_copy.getPrimitiveWritableObject(obj); } else { t1 = soi_new.getPrimitiveWritableObject(key); t2 = soi_copy.getPrimitiveWritableObject(obj); } if (t1 == null && t2 == null) { return true; } else if (t1 == null || t2 == null) { return false; } else { return t1.equals(t2); } }
@Override public boolean equals(Object other) { Object obj = ((TextKeyWrapper) other).key; Text t1; Text t2; if (isCopy) { t1 = soi_copy.getPrimitiveWritableObject(key); t2 = soi_copy.getPrimitiveWritableObject(obj); } else { t1 = soi_new.getPrimitiveWritableObject(key); t2 = soi_copy.getPrimitiveWritableObject(obj); } if (t1 == null && t2 == null) { return true; } else if (t1 == null || t2 == null) { return false; } else { return t1.equals(t2); } }
@Override void serialize(RandomAccessOutput byteStream, Object obj, ObjectInspector objInspector, boolean skipLengthPrefix, BooleanRef warnedOnceNullMapKey) { StringObjectInspector soi = (StringObjectInspector) objInspector; Text t = soi.getPrimitiveWritableObject(obj); serializeText(byteStream, t, skipLengthPrefix); } }
@Override public void serialize(Object o, ObjectInspector oi, TProtocol oprot) throws TException, SerDeException, NoSuchFieldException, IllegalAccessException { StringObjectInspector poi = (StringObjectInspector) oi; if (oprot instanceof WriteTextProtocol) { ((WriteTextProtocol) oprot).writeText(poi.getPrimitiveWritableObject(o)); } else { oprot.writeString(poi.getPrimitiveJavaObject(o)); } }
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { final Text value = ((StringObjectInspector)oi).getPrimitiveWritableObject(hiveFieldValue); final byte[] valueBytes = value.getBytes(); final int len = value.getLength(); ((NullableVarCharVector) outputVV).getMutator().setSafe(outputIndex, valueBytes, 0, len); } }
public boolean areEqual(Object o0, Object o1) { if (o0 == null && o1 == null) { return true; } else if (o0 == null || o1 == null) { return false; } switch (compareType) { case COMPARE_TEXT: return (soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); case COMPARE_INT: return (ioi0.get(o0) == ioi1.get(o1)); case COMPARE_LONG: return (loi0.get(o0) == loi1.get(o1)); case COMPARE_BYTE: return (byoi0.get(o0) == byoi1.get(o1)); case COMPARE_BOOL: return (boi0.get(o0) == boi1.get(o1)); case COMPARE_STRING: return (soi0.getPrimitiveJavaObject(o0).equals( soi1.getPrimitiveJavaObject(o1))); default: return (ObjectInspectorUtils.compare( o0, oi0, o1, oi1) == 0); } } }
public static BytesWritable getBinary(Object o, PrimitiveObjectInspector oi) { if (null == o) { return null; } switch (oi.getPrimitiveCategory()) { case VOID: return null; case STRING: Text text = ((StringObjectInspector) oi).getPrimitiveWritableObject(o); return getBinaryFromText(text); case CHAR: // char to binary conversion: include trailing spaces? return getBinaryFromText( ((HiveCharObjectInspector) oi).getPrimitiveWritableObject(o).getPaddedValue()); case VARCHAR: return getBinaryFromText( ((HiveVarcharObjectInspector) oi).getPrimitiveWritableObject(o).getTextValue()); case BINARY: return ((BinaryObjectInspector) oi).getPrimitiveWritableObject(o); default: throw new RuntimeException("Cannot convert to Binary from: " + oi.getTypeName()); } }
StringObjectInspector soi = (StringObjectInspector) oi; if (soi.preferWritable()) { Text t = soi.getPrimitiveWritableObject(o); result = LazyInteger.parseInt(t.getBytes(), 0, t.getLength()); } else {
StringObjectInspector soi = (StringObjectInspector) oi; if (soi.preferWritable()) { Text t = soi.getPrimitiveWritableObject(o); result = LazyLong.parseLong(t.getBytes(), 0, t.getLength()); } else {
result.set(soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT:
result.set(!soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT:
result.set(soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT:
result.set(!soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT:
case STRING: Text vString = ((StringObjectInspector)inputOI). getPrimitiveWritableObject(parameters[0]); bf.addBytes(vString.getBytes(), 0, vString.getLength()); break;
case COMPARE_TEXT: Text t0, t1; t0 = soi0.getPrimitiveWritableObject(o0); t1 = soi1.getPrimitiveWritableObject(o1); result.set(t0.compareTo(t1) <= 0); break;
case COMPARE_TEXT: Text t0, t1; t0 = soi0.getPrimitiveWritableObject(o0); t1 = soi1.getPrimitiveWritableObject(o1); result.set(t0.compareTo(t1) < 0); break;
case COMPARE_TEXT: Text t0, t1; t0 = soi0.getPrimitiveWritableObject(o0); t1 = soi1.getPrimitiveWritableObject(o1); result.set(t0.compareTo(t1) >= 0); break;
case COMPARE_TEXT: Text t0, t1; t0 = soi0.getPrimitiveWritableObject(o0); t1 = soi1.getPrimitiveWritableObject(o1); result.set(t0.compareTo(t1) > 0); break;
StringObjectInspector soi = (StringObjectInspector) oi; if (soi.preferWritable()) { Text t = soi.getPrimitiveWritableObject(o); result = parseBoolean(t); } else {