package org.javers.core.diff.appenders; import org.javers.common.collections.Lists; import org.javers.core.JaversCoreConfiguration; import org.javers.core.diff.changetype.container.ListChange; import org.javers.core.pico.LateInstantiatingModule; import org.picocontainer.MutablePicoContainer; import java.util.Collection; /** * @author bartosz walacik */ public class DiffAppendersModule extends LateInstantiatingModule { private final Class<? extends CorePropertyChangeAppender<ListChange>> listChangeAppender; public DiffAppendersModule(JaversCoreConfiguration javersCoreConfiguration, MutablePicoContainer container) { super(javersCoreConfiguration, container); this.listChangeAppender = javersCoreConfiguration.getListCompareAlgorithm().getAppenderClass(); } @Override protected Collection<Class> getImplementations() { return (Collection)Lists.asList( NewObjectAppender.class, MapChangeAppender.class, listChangeAppender, SetChangeAppender.class, ArrayChangeAppender.class, ObjectRemovedAppender.class, ReferenceChangeAppender.class, OptionalChangeAppender.class, ValueChangeAppender.class, CollectionChangeFakeAppender.class ); } }