package org.korsakow.domain; import java.util.Collection; import org.dsrg.soenea.uow.UoW; import org.korsakow.domain.interf.IImage; import org.korsakow.domain.interf.IKeyword; import org.korsakow.ide.DataRegistry; public class ImageFactory { public static Image createNew(long id, long version) { Image object = new Image(id, version); UoW.getCurrent().registerNew(object); return object; } public static Image createNew() { return createNew(DataRegistry.getMaxId(), 0); } public static Image createNew(String name, Collection<IKeyword> keywords, String filename, Long duration) { Image object = new Image(DataRegistry.getMaxId(), 0, name, keywords, filename, duration); UoW.getCurrent().registerNew(object); return object; } public static Image createClean(long id, long version, String name, Collection<IKeyword> keywords, String filename, Long duration) { Image object = new Image(id, version, name, keywords, filename, duration); UoW.getCurrent().registerClean(object); return object; } public static Image copy(IImage src) { return createNew( src.getName(), KeywordFactory.copy(src.getKeywords()), src.getFilename(), src.getDuration() ); } }