@Override public String toString() { if (isNull()) { return String.valueOf((Object) null); } else { return getAsString(); } }
@Override public void write(StringOption model) throws IOException { if (model == null) { throw new IllegalArgumentException("model must not be null"); //$NON-NLS-1$ } if (model.isNull()) { return; } Text entity = model.get(); output.write(entity.getBytes(), 0, entity.getLength()); output.write(LINE_BREAK); }
@Override public int hashCode() { final int prime = 31; if (isNull()) { return 1; } int result = 1; result = prime * result + entity.hashCode(); return result; }
@Override public String getPrimitiveJavaObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } return object.getAsString(); }
@Override public Text getPrimitiveWritableObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } return object.get(); }
@Override public void write(DataOutput out) throws IOException { if (isNull()) { out.writeBoolean(false); } else { out.writeBoolean(true); entity.write(out); } }
@Override public void write(StringOption model) throws IOException { if (model == null) { throw new IllegalArgumentException("model must not be null"); //$NON-NLS-1$ } if (model.isNull()) { return; } Text entity = model.get(); write(entity); writer.write(LINE_BREAK); }
@Override public HiveVarchar getPrimitiveJavaObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } return new HiveVarchar(object.getAsString(), length); }
@Override public HiveChar getPrimitiveJavaObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } return new HiveChar(object.getAsString(), length); }
@Override public HiveCharWritable getPrimitiveWritableObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } HiveCharWritable writable = new HiveCharWritable(); writable.getTextValue().set(object.get()); return writable; }
@Override public HiveVarcharWritable getPrimitiveWritableObject(Object o) { StringOption object = (StringOption) o; if (object == null || object.isNull()) { return null; } HiveVarcharWritable writable = new HiveVarcharWritable(); writable.getTextValue().set(object.get()); return writable; }
@Override public void emit(StringOption option) throws IOException { addCellDelimiter(); if (option.isNull() == false) { String str = option.getAsString(); if (isEscapeTarget() || hasEscapeTarget(str)) { appendEscaped(lineBuffer, str); } else { lineBuffer.append(str); } } }
@SuppressWarnings("deprecation") private Text reset(StringOption model) { if (model.isNull()) { model.modify(EMPTY); } else { model.get().clear(); } return model.get(); }
@SuppressWarnings("deprecation") private Text reset(StringOption model) { if (model.isNull()) { model.modify(EMPTY); } else { model.get().clear(); } return model.get(); }
/** * test for initial state. */ @Test public void init() { StringOption option = new StringOption(); assertThat(option.isNull(), is(true)); }
/** * test for or w/ text. */ @Test public void textOr() { StringOption option = new StringOption(); assertThat(option.or(new Text("Hello")).toString(), is("Hello")); assertThat(option.isNull(), is(true)); option.modify(new Text("World")); assertThat(option.or(new Text("Other")).toString(), is("World")); }
/** * test for set w/ text. */ @Test public void text() { StringOption option = new StringOption(); option.modify(new Text("Hello, world!")); assertThat(option.isNull(), is(false)); assertThat(option.get().toString(), is("Hello, world!")); }
/** * test for Writable w/ null. */ @Test public void writableOption() { StringOption option = new StringOption(); StringOption restored = restore(option); assertThat(restored.isNull(), is(true)); }
/** * test for w/ get as string. */ @Test public void string() { StringOption option = new StringOption(); option.modify("Hello, world!"); assertThat(option.isNull(), is(false)); assertThat(option.getAsString(), is("Hello, world!")); }
/** * test for or w/ string. */ @Test public void stringOr() { StringOption option = new StringOption(); assertThat(option.or("Hello"), is("Hello")); assertThat(option.isNull(), is(true)); option.modify("World"); assertThat(option.or("Other"), is("World")); }