1 /* 2 * Copyright (C) The Apache Software Foundation. All rights reserved. 3 * 4 * This software is published under the terms of the Apache Software License 5 * version 1.1, a copy of which has been included with this distribution in 6 * the LICENSE.txt file. 7 */ 8 package org.apache.avalon.excalibur.component; 9 10 /** 11 * RoleManager Interface, use this to specify the Roles and how they 12 * correspond easy shorthand names. 13 * 14 * @author <a HREF="mailto:bloritsch@apache.org">Berin Loritsch</a> 15 * @author <a HREF="mailto:ricardo@apache.org">Ricardo Rocha</a> 16 * @author <a HREF="mailto:giacomo@apache.org">Giacomo Pati</a> 17 * @version CVS $Revision: 1.4 $ $Date: 2001/12/11 09:53:27 $ 18 * @since 4.0 19 */ 20 public interface RoleManager 21 { 22 /** 23 * Find Role name based on shorthand name. Please note that if 24 * this returns <code>null</code> or an empty string, then the 25 * shorthand name is assumed to be a "reserved word". In other 26 * words, you should not try to instantiate a class from an empty 27 * role. 28 */ 29 String getRoleForName( String shorthandName ); 30 31 /** 32 * Get the default classname for a given role. 33 */ 34 String getDefaultClassNameForRole( String role ); 35 36 /** 37 * Get the default classname for a given hint type. This is only 38 * used by ComponentSelectors. 39 */ 40 String getDefaultClassNameForHint( String hint, String shorthand ); 41 } 42