001package jmri.jmrit.logixng; 002 003import jmri.NamedBean; 004 005/** 006 * Factory class for male sockets. This class is used when a tool wants to add 007 * extra male sockets around the male sockets for actions and expressions. An 008 * example is the debugger. 009 * 010 * @author Daniel Bergqvist Copyright 2020 011 * @param <T> the type of male socket 012 */ 013public interface MaleSocketFactory<T extends NamedBean> { 014 015 /** 016 * Encapsulate a male socket into another male socket. 017 * @param manager the manager that registers this male socket 018 * @param maleSocket the male socket to be encapsulated 019 * @return the new male socket that encapsulates the old male socket 020 */ 021 T encapsulateMaleSocket(BaseManager<T> manager, T maleSocket); 022 023}