1 /***************************************************************************** 2 * Copyright (C) Codehaus.org. All rights reserved. * 3 * ------------------------------------------------------------------------- * 4 * The software in this package is published under the terms of the BSD * 5 * style license a copy of which has been included with this distribution in * 6 * the LICENSE.txt file. * 7 *****************************************************************************/ 8 /* 9 * Created on Mar 22, 2005 10 * 11 * Author Ben Yu 12 * ZBS 13 */ 14 package jfun.yan; 15 16 /** 17 * Represents any thing that can be verified. 18 * <p> 19 * Codehaus.org. 20 * 21 * @author Ben Yu 22 * 23 */ 24 public interface Verifiable extends java.io.Serializable{ 25 /** 26 * Verifies that the component's dependencies are satisfiable. 27 * @param dep the provider that provides all dependent information. 28 * @throws IrresolveableArgumentException 29 * when any of the arguments is not resolveable. 30 * @throws ParameterTypeMismatchException 31 * when any of the arguments do not match the expectec type. 32 * @throws AmbiguousComponentResolutionException 33 * when resolution of any of the arguments has ambiguity. 34 * @throws ComponentException 35 * error when resolving any of the arguments. 36 * @throws YanException any error. 37 */ 38 Class verify(Dependency dep) 39 throws IrresolveableArgumentException, ParameterTypeMismatchException, 40 AmbiguousComponentResolutionException, YanException; 41 42 } 43