001package jmri.jmrit.logixng;
002
003import java.util.Map;
004import java.util.Set;
005
006/**
007 * Factory class for AnalogAction classes.
008 * 
009 * @author Daniel Bergqvist Copyright 2018
010 */
011public interface AnalogActionFactory {
012
013    /**
014     * Init the factory, for example create categories.
015     */
016    default void init() {}
017    
018    /**
019     * Get a set of classes that implements the AnalogAction interface.
020     * 
021     * @return a set of entries with category and class
022     */
023    Set<Map.Entry<Category, Class<? extends Base>>> getClasses();
024    
025}