public static ColumnIdent getChild(ColumnIdent parent, String name) { if (parent.isColumn()) { return new ColumnIdent(parent.name, name); } List<String> childPath = ImmutableList.<String>builder().addAll(parent.path).add(name).build(); return new ColumnIdent(parent.name, childPath); }
private ColumnIdent childIdent(ColumnIdent ident, String name) { if (ident == null) { return new ColumnIdent(name); } if (ident.isColumn()) { return new ColumnIdent(ident.name(), name); } else { ImmutableList.Builder<String> builder = ImmutableList.builder(); for (String s : ident.path()) { builder.add(s); } builder.add(name); return new ColumnIdent(ident.name(), builder.build()); } }