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