@Override public String createForSequentialChildren(boolean many, boolean optional, Iterable<String> children) { children = Iterables.filter(children, Predicates.notNull()); if (many || optional) return "(" + Joiner.on(" ").join(children) + ")" + card(many, optional); return Joiner.on(" ").join(children) + card(many, optional); }
public String createForSequentialChildren(boolean many, boolean optional, Iterable<String> children) { children = Iterables.filter(children, Predicates.notNull()); if (many || optional) return "(" + Joiner.on(" ").join(children) + ")" + card(many, optional); return Joiner.on(" ").join(children) + card(many, optional); }
@Override public String createForAlternativeChildren(boolean many, boolean optional, Iterable<String> children) { List<String> childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); return "(" + Joiner.on(" | ").join(childrenSorted) + ")" + card(many, optional); }
@Override public String createForUnordertedChildren(boolean many, boolean optional, Iterable<String> children) { List<String> childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); return "(" + Joiner.on(" & ").join(childrenSorted) + ")" + card(many, optional); }
public String createForAlternativeChildren(boolean many, boolean optional, Iterable<String> children) { List<String> childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); return "(" + Joiner.on(" | ").join(childrenSorted) + ")" + card(many, optional); }
public String createForUnordertedChildren(boolean many, boolean optional, Iterable<String> children) { List<String> childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); return "(" + Joiner.on(" & ").join(childrenSorted) + ")" + card(many, optional); }