001package jmri.jmrit.symbolicprog.tabbedframe; 002 003import java.util.Locale; 004import jmri.util.startup.AbstractStartupActionFactory; 005import jmri.util.startup.StartupActionFactory; 006import org.openide.util.lookup.ServiceProvider; 007 008/** 009 * Factory for symbolic programmer startup actions. 010 * 011 * @author Randall Wood Copyright 2020 012 */ 013@ServiceProvider(service = StartupActionFactory.class) 014public final class SymbolicProgStartupActionFactory extends AbstractStartupActionFactory { 015 016 @Override 017 public String getTitle(Class<?> clazz, Locale locale) throws IllegalArgumentException { 018 if (clazz.equals(PaneOpsProgAction.class)) { 019 return Bundle.getMessage(locale, "StartupPaneOpsProgAction"); 020 } else if (clazz.equals(PaneProgAction.class)) { 021 return Bundle.getMessage(locale, "StartupPaneProgAction"); 022 } 023 throw new IllegalArgumentException(clazz.getName() + " is not supported by " + this.getClass().getName()); 024 } 025 026 @Override 027 public Class<?>[] getActionClasses() { 028 return new Class[]{PaneOpsProgAction.class, PaneProgAction.class}; 029 } 030 031}