public SampleBuilderSpec<P> blank$restoreFrom(BuilderRepository repo, Object builderId) { verifyMutable(); Object restoredObject = repo.get(builderId); if (restoredObject == null) { if (repo.isSupportLazy()) { repo.addObjectStoredListener( builderId, new Procedure() { public void execute(Object... arguments) { SampleBuilderSpec.this.blank = (BlankBuilderSpec<?>) arguments[0]; } }); } else { throw new IllegalStateException("Object does not exist with id " + builderId); } } else if (!(restoredObject instanceof BlankBuilderSpec)) { throw new IllegalStateException( "Type mismatch for id: " + builderId + ". " + BlankBuilderSpec.class.getSimpleName() + " vs " + restoredObject.getClass().getSimpleName()); } else { this.blank = (BlankBuilderSpec<?>) restoredObject; } return this; }
public SampleBuilderSpec<P> blanks$restoreFrom( BuilderRepository repo, Collection<Object> builderIds) { verifyMutable(); if (this.blanks == null) { this.blanks = new ArrayList<BlankBuilderSpec<?>>(); } if (builderIds != null) { for (Object builderId : builderIds) { Object restoredObject = repo.get(builderId); if (restoredObject == null) { if (repo.isSupportLazy()) { repo.addObjectStoredListener( builderId, new Procedure() { public void execute(Object... arguments) { CollectionUtils.addItem(SampleBuilderSpec.this.blanks, arguments[0]); } }); } else { throw new IllegalStateException("Object does not exist with id " + builderId); } } else if (!(restoredObject instanceof BlankBuilderSpec)) { throw new IllegalStateException( "Type mismatch for id: " + builderId + ". " + BlankBuilderSpec.class.getSimpleName() + " vs " + restoredObject.getClass().getSimpleName()); } else { CollectionUtils.addItem(this.blanks, restoredObject); } } } return this; }