com.kenshoo.pl.simulation.internal.FakeAutoIncGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of persistence-layer Show documentation
Show all versions of persistence-layer Show documentation
A Java persistence layer based on JOOQ for high performance and business flow support.
package com.kenshoo.pl.simulation.internal;
import com.kenshoo.pl.entity.*;
import com.kenshoo.pl.entity.internal.EntityWithGeneratedId;
import com.kenshoo.pl.entity.spi.OutputGenerator;
import java.util.Collection;
public class FakeAutoIncGenerator> implements OutputGenerator {
private final E entityType;
private final Object SOME_FAKE_VALUE = new Object();
public FakeAutoIncGenerator(E entityType) {
this.entityType = entityType;
}
@Override
public void generate(Collection extends EntityChange> commands, ChangeOperation op, ChangeContext ctx) {
entityType.getPrimaryIdentityField().ifPresent(autoIncId -> populateFakeValue(autoIncId, commands, ctx));
}
private void populateFakeValue(EntityField field, Collection extends EntityChange> commands, ChangeContext ctx) {
commands.forEach(cmd -> ctx.addEntity(cmd, new EntityWithGeneratedId(field, SOME_FAKE_VALUE)));
}
}