@@ -0,0 +1,2858 @@
+/*%0A * #%25L%0A * ImageJ software for multidimensional image processing and analysis.%0A * %25%25%0A * Copyright (C) 2014 - 2015 Board of Regents of the University of%0A * Wisconsin-Madison, University of Konstanz and Brian Northan.%0A * %25%25%0A * Redistribution and use in source and binary forms, with or without%0A * modification, are permitted provided that the following conditions are met:%0A * %0A * 1. Redistributions of source code must retain the above copyright notice,%0A *    this list of conditions and the following disclaimer.%0A * 2. Redistributions in binary form must reproduce the above copyright notice,%0A *    this list of conditions and the following disclaimer in the documentation%0A *    and/or other materials provided with the distribution.%0A * %0A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS %22AS IS%22%0A * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE%0A * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE%0A * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR%0A * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF%0A * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS%0A * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN%0A * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)%0A * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE%0A * POSSIBILITY OF SUCH DAMAGE.%0A * #L%25%0A */%0A%0Apackage net.imagej.ops;%0A%0Aimport org.scijava.module.Module;%0Aimport org.scijava.module.ModuleInfo;%0A%0A/**%0A * Container class for a possible operation match between an %7B@link OpRef%7D and a%0A * %7B@link ModuleInfo%7D, as computed by the %7B@link OpMatchingService%7D.%0A * %0A * @author Curtis Rueden%0A * @param %3COP%3E The type of %7B@link Op%7D.%0A * @see OpMatchingService%0A */%0Apublic class OpCandidate%3COP extends Op%3E %7B%0A%0A%09public static enum StatusCode %7B%0A%09%09MATCH,%0A%09%09INVALID_MODULE,%0A%09%09TOO_MANY_ARGS,%0A%09%09TOO_FEW_ARGS,%0A%09%09REQUIRED_ARG_IS_NULL,%0A%09%09CANNOT_CONVERT,%0A%09%09DOES_NOT_CONFORM,%0A%09%09OTHER%0A%09%7D%0A%0A%09private OpRef%3COP%3E ref;%0A%09private ModuleInfo info;%0A%0A%09private Module module;%0A%09private StatusCode code;%0A%09private String message;%0A%0A%09public OpCandidate(final OpRef%3COP%3E ref, final ModuleInfo info) %7B%0A%09%09this.ref = ref;%0A%09%09this.info = info;%0A%09%7D%0A%0A%09public OpRef%3COP%3E getRef() %7B%0A%09%09return ref;%0A%09%7D%0A%0A%09public ModuleInfo getInfo() %7B%0A%09%09return info;%0A%09%7D%0A%0A%09public void setModule(final Module module) %7B%0A%09%09this.module = module;%0A%09%7D%0A%0A%09public Module getModule() %7B%0A%09%09return module;%0A%09%7D%0A%0A%09public void setStatus(StatusCode code) %7B%0A%09%09setStatus(code, null);%0A%09%7D%0A%0A%09public void setStatus(StatusCode code, final String message) %7B%0A%09%09this.code = code;%0A%09%09this.message = message;%0A%09%7D%0A%0A%09public StatusCode getStatusCode() %7B%0A%09%09return code;%0A%09%7D%0A%0A%09public String getStatusMessage() %7B%0A%09%09return message;%0A%09%7D%0A%0A%7D%0A

Create a separate class for op candidate matches