package org.korsakow.domain;
import org.dsrg.soenea.uow.UoW;
import org.korsakow.domain.interf.ITrigger;
import org.korsakow.ide.DataRegistry;
public class TriggerFactory {
public static Trigger createNew(String triggerType)
{
Trigger object = new Trigger(DataRegistry.getMaxId(), 0, triggerType);
UoW.getCurrent().registerNew(object);
return object;
}
public static Trigger createClean(String triggerType)
{
Trigger object = new Trigger(DataRegistry.getMaxId(), 0, triggerType);
UoW.getCurrent().registerClean(object);
return object;
}
public static Trigger createClean(long id, long version, String triggerType)
{
Trigger object = new Trigger(id, version, triggerType);
UoW.getCurrent().registerClean(object);
return object;
}
public static Trigger copy(ITrigger src)
{
Trigger copy = new Trigger(DataRegistry.getMaxId(), 0, src.getTriggerType());
for (String propId : src.getDynamicPropertyIds())
copy.setDynamicProperty(propId, src.getDynamicProperty(propId));
UoW.getCurrent().registerNew(copy);
return copy;
}
}