Class ClassUtil
- java.lang.Object
- 
- org.apache.wiki.util.ClassUtil
 
- 
 public final class ClassUtil extends java.lang.Object Contains useful utilities for class file manipulation. This is a static class, so there is no need to instantiate it.- Since:
- 2.1.29.
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringMAPPINGSThe location of the classmappings.xml document.static java.lang.StringMAPPINGS_EXTRAThe location of the classmappings-extra.xml document.
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanassignable(java.lang.String srcClassName, java.lang.String parentClassName)checks ifsrcClassNameis a subclass ofparentClassname.static <T> TbuildInstance(java.lang.Class<T> from)This method is used to instantiate a given class.static <T> TbuildInstance(java.lang.Class<T> from, java.lang.Object... initArgs)This method is used to instantiate a given class.static <T> TbuildInstance(java.lang.String className)This method is used to instantiate a given class.static <T> TbuildInstance(java.lang.String packageName, java.lang.String className)This method is used to instantiate a given class.static java.util.List<java.lang.String>classpathEntriesUnder(java.lang.String rootPackage)Lists all the files in classpath under a given package.static booleanexists(java.lang.String className)Checks if a given class exists in classpath.static <T> java.lang.Class<T>findClass(java.lang.String packageName, java.lang.String className)It will first attempt to instantiate the class directly from the className, and will then try to prefix it with the packageName.static <T> java.lang.Class<T>findClass(java.util.List<java.lang.String> packages, java.util.List<java.lang.String> externaljars, java.lang.String className)Attempts to find a class from a collection of packages.static java.util.Map<java.lang.String,java.lang.String>getExtraClassMappings()static java.lang.Class<?>getMappedClass(java.lang.String requestedClass)Finds a mapped class from the c_classMappings list.static <T> TgetMappedObject(java.lang.String requestedClass)This method is used to locate and instantiate a mapped class.static <T> TgetMappedObject(java.lang.String requestedClass, java.lang.Object... initargs)This method is used to locate and instantiate a mapped class.
 
- 
- 
- 
Field Detail- 
MAPPINGSpublic static final java.lang.String MAPPINGS The location of the classmappings.xml document. It will be searched for in the classpath. Its value is ""ini/classmappings.xml"".- See Also:
- Constant Field Values
 
 - 
MAPPINGS_EXTRApublic static final java.lang.String MAPPINGS_EXTRA The location of the classmappings-extra.xml document. It will be searched for in the classpath. Its value is ""ini/classmappings-extra.xml"".- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
findClasspublic static <T> java.lang.Class<T> findClass(java.util.List<java.lang.String> packages, java.util.List<java.lang.String> externaljars, java.lang.String className) throws java.lang.ClassNotFoundException Attempts to find a class from a collection of packages. This will first attempt to find the class based on just the className parameter, but should that fail, will iterate through the "packages" -list, prefixes the package name to the className, and then tries to find the class again.- Parameters:
- packages- A List of Strings, containing different package names.
- className- The name of the class to find.
- Returns:
- The class, if it was found.
- Throws:
- java.lang.ClassNotFoundException- if this particular class cannot be found from the list.
 
 - 
findClasspublic static <T> java.lang.Class<T> findClass(java.lang.String packageName, java.lang.String className) throws java.lang.ClassNotFoundException It will first attempt to instantiate the class directly from the className, and will then try to prefix it with the packageName.- Parameters:
- packageName- A package name (such as "org.apache.wiki.plugins").
- className- The class name to find.
- Returns:
- The class, if it was found.
- Throws:
- java.lang.ClassNotFoundException- if this particular class cannot be found.
 
 - 
classpathEntriesUnderpublic static java.util.List<java.lang.String> classpathEntriesUnder(java.lang.String rootPackage) Lists all the files in classpath under a given package.- Parameters:
- rootPackage- the base package. Can be {code null}.
- Returns:
- all files entries in classpath under the given package
 
 - 
getMappedObjectpublic static <T> T getMappedObject(java.lang.String requestedClass) throws java.lang.ReflectiveOperationException, java.lang.IllegalArgumentException This method is used to locate and instantiate a mapped class. You may redefine anything in the resource file which is located in your classpath under the nameClassUtil.MAPPINGS ("ini/classmappings.xml").This is an extremely powerful system, which allows you to remap many of the JSPWiki core classes to your own class. Please read the documentation included in the default "ini/classmappings.xml"file to see how this method works.- Parameters:
- requestedClass- The name of the class you wish to instantiate.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.IllegalArgumentException- If the class cannot be found or instantiated.
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.5.40
 
 - 
getMappedObjectpublic static <T> T getMappedObject(java.lang.String requestedClass, java.lang.Object... initargs) throws java.lang.ReflectiveOperationException, java.lang.IllegalArgumentException This method is used to locate and instantiate a mapped class. You may redefine anything in the resource file which is located in your classpath under the name"ini/classmappings.xml".This is an extremely powerful system, which allows you to remap many of the JSPWiki core classes to your own class. Please read the documentation included in the default "ini/classmappings.xml"file to see how this method works.This method takes in an object array for the constructor arguments for classes which have more than two constructors. - Parameters:
- requestedClass- The name of the class you wish to instantiate.
- initargs- The parameters to be passed to the constructor. May be- null.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.IllegalArgumentException- If the class cannot be found or instantiated.
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.5.40
 
 - 
getMappedClasspublic static java.lang.Class<?> getMappedClass(java.lang.String requestedClass) throws java.lang.ClassNotFoundException Finds a mapped class from the c_classMappings list. If there is no mappped class, will use the requestedClass.- Parameters:
- requestedClass- requested class.
- Returns:
- A Class object which you can then instantiate.
- Throws:
- java.lang.ClassNotFoundException- if the class is not found.
 
 - 
assignablepublic static boolean assignable(java.lang.String srcClassName, java.lang.String parentClassName) checks ifsrcClassNameis a subclass ofparentClassname.- Parameters:
- srcClassName- expected subclass.
- parentClassName- expected parent class.
- Returns:
- trueif- srcClassNameis a subclass of- parentClassname,- falseotherwise.
 
 - 
existspublic static boolean exists(java.lang.String className) Checks if a given class exists in classpath.- Parameters:
- className- the class to check for existence.
- Returns:
- trueif it exists,- falseotherwise.
 
 - 
getExtraClassMappingspublic static java.util.Map<java.lang.String,java.lang.String> getExtraClassMappings() 
 - 
buildInstancepublic static <T> T buildInstance(java.lang.String className) throws java.lang.ReflectiveOperationException This method is used to instantiate a given class.- Parameters:
- className- The name of the class you wish to instantiate.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.11.1
 
 - 
buildInstancepublic static <T> T buildInstance(java.lang.String packageName, java.lang.String className) throws java.lang.ReflectiveOperationException This method is used to instantiate a given class.* It will first attempt to instantiate the class directly from the className, and will then try to prefix it with the packageName. - Parameters:
- packageName- A package name (such as "org.apache.wiki.plugins").
- className- The class name to find.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.11.1
 
 - 
buildInstancepublic static <T> T buildInstance(java.lang.Class<T> from) throws java.lang.ReflectiveOperationException This method is used to instantiate a given class.- Parameters:
- from- The name of the class you wish to instantiate.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.11.1
 
 - 
buildInstancepublic static <T> T buildInstance(java.lang.Class<T> from, java.lang.Object... initArgs) throws java.lang.ReflectiveOperationException This method is used to instantiate a given class.This method takes in an object array for the constructor arguments for classes which have more than two constructors. - Parameters:
- from- The name of the class you wish to instantiate.
- initArgs- The parameters to be passed to the constructor. May be- null.
- Returns:
- An instantiated Object.
- Throws:
- java.lang.ReflectiveOperationException- If the class cannot be found or instantiated.
- Since:
- 2.11.1
 
 
- 
 
-