/* *************************************************************************************** * Copyright (C) 2006 EsperTech, Inc. All rights reserved. * * http://www.espertech.com/esper * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * *************************************************************************************** */ package com.espertech.esper.epl.methodbase; import java.io.StringWriter; public class DotMethodFP { private final DotMethodFPInputEnum input; private final DotMethodFPParam[] parameters; public DotMethodFP(DotMethodFPInputEnum input, DotMethodFPParam... parameters) { this.input = input; this.parameters = parameters; } public DotMethodFPInputEnum getInput() { return input; } public DotMethodFPParam[] getParameters() { return parameters; } public String toStringFootprint(boolean isLambdaApplies) { if (parameters.length == 0) { return "no parameters"; } StringWriter buf = new StringWriter(); String delimiter = ""; for (DotMethodFPParam param : parameters) { buf.append(delimiter); if (isLambdaApplies) { if (param.getLambdaParamNum() == 0) { buf.append("an (non-lambda)"); } else if (param.getLambdaParamNum() == 1) { buf.append("a lambda"); } else { buf.append("a " + param.getLambdaParamNum() + "-parameter lambda"); } } else { buf.append("an"); } buf.append(" expression"); buf.append(" providing "); buf.append(param.getDescription()); delimiter = " and "; } return buf.toString(); } public static String toStringProvided(DotMethodFPProvided provided, boolean isLambdaApplies) { if (provided.getParameters().length == 0) { return "no parameters"; } StringWriter buf = new StringWriter(); String delimiter = ""; if (!isLambdaApplies) { buf.append(Integer.toString(provided.getParameters().length)); buf.append(" expressions"); } else { for (DotMethodFPProvidedParam param : provided.getParameters()) { buf.append(delimiter); if (param.getLambdaParamNum() == 0) { buf.append("an (non-lambda)"); } else if (param.getLambdaParamNum() == 1) { buf.append("a lambda"); } else { buf.append("a " + param.getLambdaParamNum() + "-parameter lambda"); } buf.append(" expression"); delimiter = " and "; } } return buf.toString(); } }