public MaterializedField getOtherNullableVersion() { MajorType mt = def.getMajorType(); DataMode newDataMode = null; switch (mt.getMode()) { case OPTIONAL: newDataMode = DataMode.REQUIRED; break; case REQUIRED: newDataMode = DataMode.OPTIONAL; break; default: throw new UnsupportedOperationException(); } return new MaterializedField( def.toBuilder().setMajorType(mt.toBuilder().setMode(newDataMode).build()).build()); }
public DataMode getDataMode() { return def.getMajorType().getMode(); }
public boolean isNullable() { return def.getMajorType().getMode() == DataMode.OPTIONAL; }
public MajorType getType() { return def.getMajorType(); }
public int getWidth() { return def.getMajorType().getWidth(); }
public MaterializedField clone(FieldReference ref) { return create(ref, def.getMajorType()); }