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