001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.core.api.parameter; 017 018public interface ParameterEvaluatorService { 019 /** 020 * This method will return an instance of a ParameterEvaluator implementation that will wrap a Parameter and provide convenient 021 * evaluation methods. 022 * 023 * @param componentClass 024 * @param parameterName 025 * @return ParameterEvaluator 026 */ 027 public ParameterEvaluator getParameterEvaluator(Class<? extends Object> componentClass, String parameterName); 028 029 /** 030 * This method will return an instance of a ParameterEvaluator implementation that will wrap a Parameter and provide convenient 031 * evaluation methods. 032 * 033 * @param namespaceCode 034 * @param detailTypeCode 035 * @param parameterName 036 * @return ParameterEvaluator 037 */ 038 public ParameterEvaluator getParameterEvaluator(String namespaceCode, String detailTypeCode, String parameterName); 039 040 /** 041 * This method will return an instance of a ParameterEvaluator implementation that will wrap a Parameter and constrainedValue 042 * and provide convenient evaluation methods. 043 * 044 * @param componentClass 045 * @param parameterName 046 * @return ParameterEvaluator 047 */ 048 public ParameterEvaluator getParameterEvaluator(Class<? extends Object> componentClass, String parameterName, String constrainedValue); 049 050 /** 051 * This method will return an instance of a ParameterEvaluator implementation that will wrap a Parameter and constrainedValue 052 * and provide convenient evaluation methods. 053 * 054 * @param namespaceCode 055 * @param detailTypeCode 056 * @param parameterName 057 * @return ParameterEvaluator 058 */ 059 public ParameterEvaluator getParameterEvaluator(String namespaceCode, String detailTypeCode, String parameterName, String constrainedValue); 060 061 /** 062 * This method will return an instance of a ParameterEvaluator implementation that will wrap a Parameter, constrainingValue, and 063 * constrainedValue and provide convenient evaluation methods. 064 * 065 * @param componentClass 066 * @param parameterName 067 * @return ParameterEvaluator 068 */ 069 public ParameterEvaluator getParameterEvaluator(Class<? extends Object> componentClass, String parameterName, String constrainingValue, String constrainedValue); 070 071 /** 072 * This method will return an instance of a ParameterEvaluator implementation that will wrap an allow Parameter, a deny 073 * Parameter, constrainingValue, and constrainedValue and provide convenient evaluation methods. 074 * 075 * @param componentClass 076 * @param parameterName 077 * @return ParameterEvaluator 078 */ 079 public ParameterEvaluator getParameterEvaluator(Class<? extends Object> componentClass, String allowParameterName, String denyParameterName, String constrainingValue, String constrainedValue); 080}