001package jmri.jmrit.display; 002 003import javax.annotation.Nonnull; 004import javax.swing.AbstractAction; 005import jmri.spi.JmriServiceProviderInterface; 006 007/** 008 * Factory for creating {@link AbstractAction}s that create new {@link Editor}s. 009 * 010 * @author Randall Wood Copyright 2020 011 */ 012public interface EditorActionFactory extends JmriServiceProviderInterface { 013 014 /** 015 * Create a new action that should create a new {@link Editor}. 016 * 017 * @return the action 018 */ 019 @Nonnull 020 AbstractAction createAction(); 021 022 /** 023 * Get the title used for the action returned by {@link #createAction()}. 024 * 025 * @return the title 026 */ 027 @Nonnull 028 String getTitle(); 029}