001package jmri.jmrit.logixng.expressions;
002
003import java.util.AbstractMap;
004import java.util.Map;
005import java.util.Set;
006
007import jmri.jmrit.logixng.AnalogExpressionFactory;
008import jmri.jmrit.logixng.Base;
009import jmri.jmrit.logixng.Category;
010
011import org.openide.util.lookup.ServiceProvider;
012
013/**
014 * The factory for DigitalAction classes.
015 */
016@ServiceProvider(service = AnalogExpressionFactory.class)
017public class AnalogFactory implements AnalogExpressionFactory {
018
019    @Override
020    public Set<Map.Entry<Category, Class<? extends Base>>> getClasses() {
021        Set<Map.Entry<Category, Class<? extends Base>>> analogExpressionClasses =
022                Set.of(
023                        new AbstractMap.SimpleEntry<>(Category.ITEM, AnalogExpressionAnalogIO.class),
024                        new AbstractMap.SimpleEntry<>(Category.ITEM, AnalogExpressionConstant.class),
025                        new AbstractMap.SimpleEntry<>(Category.ITEM, AnalogExpressionLocalVariable.class),
026                        new AbstractMap.SimpleEntry<>(Category.ITEM, AnalogExpressionMemory.class),
027                        new AbstractMap.SimpleEntry<>(Category.COMMON, AnalogFormula.class),
028                        new AbstractMap.SimpleEntry<>(Category.ITEM, TimeSinceMidnight.class)
029                );
030
031        return analogExpressionClasses;
032    }
033
034}