001package jmri.jmrit.logixng; 002 003import jmri.JmriException; 004 005/** 006 * A LogixNG male AnalogExpressionBean socket. 007 */ 008public interface MaleAnalogExpressionSocket 009 extends MaleSocket, AnalogExpressionBean { 010 011 /** 012 * {@inheritDoc} 013 * <P> 014 * This method must ensure that the result is not a Double.NaN, negative 015 * infinity or positive infinity. If that is the case, it must throw an 016 * IllegalArgumentException before checking if an error has occured. 017 * <P> 018 * If the socket is not enabled, the method returns the value 0.0f. 019 * <P> 020 * If an error occurs and are handled, the method returns the value 0.0f. 021 * @throws JmriException when an exception occurs 022 * @throws IllegalArgumentException if the result a Double.NaN, negative 023 * infinity or positive infinity 024 */ 025 @Override 026 double evaluate() throws JmriException; 027 028}