package org.ovirt.engine.core.builder; import javax.inject.Inject; import org.ovirt.engine.core.common.businessentities.MacPool; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.MacPoolDao; import org.springframework.stereotype.Repository; @Repository public class MacPoolBuilder extends AbstractBuilder<MacPool, MacPoolBuilder> { @Inject MacPoolDao macPoolDao; public MacPoolBuilder id(final Guid hostId) { object.setId(hostId); return this; } @Override public MacPoolBuilder reset() { object = new MacPool(); return this; } @Override public MacPoolBuilder reset(MacPool object) { this.object = object; return this; } @Override protected void preBuild() { if (Guid.isNullOrEmpty(object.getId())) { object.setId(Guid.newGuid()); } } @Override protected void prePersist() { if (Guid.isNullOrEmpty(object.getId())) { object.setId(Guid.newGuid()); } } @Override protected MacPool doPersist() { macPoolDao.save(object); return macPoolDao.get(object.getId()); } }