package features.domain.builders; import features.domain.ParentCBar; import features.domain.ParentCFoo; import java.util.ArrayList; import java.util.List; import joist.domain.builders.AbstractBuilder; import joist.domain.builders.DefaultsContext; import joist.domain.uow.UoW; @SuppressWarnings("all") public abstract class ParentCFooBuilderCodegen extends AbstractBuilder<ParentCFoo> { public ParentCFooBuilderCodegen(ParentCFoo instance) { super(instance); } @Override public ParentCFooBuilder defaults() { return (ParentCFooBuilder) super.defaults(); } @Override protected void defaults(DefaultsContext c) { super.defaults(c); if (name() == null) { name(defaultName()); } } public Long id() { if (UoW.isOpen() && get().getId() == null) { UoW.flush(); } return get().getId(); } public ParentCFooBuilder id(Long id) { get().setId(id); return (ParentCFooBuilder) this; } public String name() { return get().getName(); } public ParentCFooBuilder name(String name) { get().setName(name); return (ParentCFooBuilder) this; } public ParentCFooBuilder with(String name) { return name(name); } protected String defaultName() { return "name"; } public ParentCBarBuilder newFirstParentParentCBar() { return Builders.aParentCBar().firstParent((ParentCFooBuilder) this); } public List<ParentCBarBuilder> firstParentParentCBars() { List<ParentCBarBuilder> b = new ArrayList<ParentCBarBuilder>(); for (ParentCBar e : get().getFirstParentParentCBars()) { b.add(Builders.existing(e)); } return b; } public ParentCBarBuilder firstParentParentCBar(int i) { return Builders.existing(get().getFirstParentParentCBars().get(i)); } public ParentCBarBuilder newSecondParentParentCBar() { return Builders.aParentCBar().secondParent((ParentCFooBuilder) this); } public List<ParentCBarBuilder> secondParentParentCBars() { List<ParentCBarBuilder> b = new ArrayList<ParentCBarBuilder>(); for (ParentCBar e : get().getSecondParentParentCBars()) { b.add(Builders.existing(e)); } return b; } public ParentCBarBuilder secondParentParentCBar(int i) { return Builders.existing(get().getSecondParentParentCBars().get(i)); } public ParentCFoo get() { return (features.domain.ParentCFoo) super.get(); } @Override public ParentCFooBuilder ensureSaved() { doEnsureSaved(); return (ParentCFooBuilder) this; } @Override public ParentCFooBuilder use(AbstractBuilder<?> builder) { return (ParentCFooBuilder) super.use(builder); } @Override public void delete() { ParentCFoo.queries.delete(get()); } public static void deleteAll() { List<Long> ids = ParentCFoo.queries.findAllIds(); for (Long id : ids) { ParentCFoo.queries.delete(ParentCFoo.queries.find(id)); } } }