1 /* 2 * Copyright (c) 2003, Inversoft 3 * 4 * This software is distribuable under the GNU Lesser General Public License. 5 * For more information visit gnu.org. 6 */ 7 package com.inversoft.verge.mvc.model; 8 9 10 import java.util.Map; 11 12 import com.inversoft.verge.mvc.MVCException; 13 import com.inversoft.verge.mvc.MVCRequest; 14 15 16 /** 17 * <p> 18 * This interface describes the method which the default 19 * Inversoft MVC implementation locates model objects. This 20 * interface is used by the DefaultModelParser to locate 21 * model objects. 22 * </p> 23 * 24 * @author Brian Pontarelli 25 * @since 2.0 26 * @version 2.0 27 */ 28 public interface ModelResolver { 29 30 /** 31 * <p> 32 * Resolves the Object model instance described by the definition string. 33 * The structure of this String is implementation independent. 34 * </p> 35 * 36 * @param mvcRequest The MVCRequest that may be used to locate model 37 * Objects 38 * @param definition The model defintion that describes how the 39 * ModelResolver should locate the model object 40 * @param extraParams Any extra parameters that my have been specified and 41 * were parsed by the ModelParser 42 * @return The ModelResolution object for the model object resolved or null 43 * if the model object could not be found 44 * @throws com.inversoft.verge.mvc.MVCException If there was a problem locating the model object 45 */ 46 ModelResolution resolve(MVCRequest mvcRequest, String definition, 47 Map extraParams) 48 throws MVCException; 49 } 50