类 ClassTool

java.lang.Object
org.apache.velocity.tools.generic.SafeConfig
org.apache.velocity.tools.generic.ClassTool

@DefaultKey("class") @ValidScope("application") public class ClassTool extends SafeConfig

This tool is meant to simplify reflective lookup of information about a Class and its Fields, Methods, and Constructors. This is ideally aimed at those wishing to generate documentation, demo code, or other content based on runtime reflection of a specified Class or Classes. It was not designed with reflective execution of code in mind and thus provides no facilities for code execution, nor direct access to the actual methods, constructors or fields of the class being inspected.

 Example tools.xml config:
 <tools>
   <toolbox scope="application">
     <tool class="org.apache.velocity.tools.generic.ClassTool"
              inspect="com.org.Foo"/>
   </toolbox>
 </tools>
 

If no Class to be inspected is specified, the default is java.lang.Object.

从以下版本开始:
VelocityTools 2.0
版本:
$Id: ClassTool.java 463298 2006-10-12 16:10:32Z henning $
作者:
Nathan Bubna
  • 字段详细资料

  • 构造器详细资料

    • ClassTool

      public ClassTool()
      Creates an instance with target type of Object.
    • ClassTool

      protected ClassTool(ClassTool tool, Class type)
      Creates a new instance that inspects the specified type and otherwise shares the configuration values of the specified "parent" ClassTool instance.
      参数:
      tool - parent class tool
      type - class to inspect
  • 方法详细资料

    • configure

      protected void configure(ValueParser values)
      Configure this tool
      覆盖:
      configure 在类中 SafeConfig
      参数:
      values - configuration values
    • setType

      protected void setType(Class type)
      Set the class to inspect
      参数:
      type - the class to inspect
    • isDeprecated

      protected static boolean isDeprecated(AnnotatedElement element)
      Check if an annotation deprecates its class
      参数:
      element - annotation
      返回:
      deprecation status
    • getShowDeprecated

      public boolean getShowDeprecated()
      Returns the current showDeprecated setting.
      返回:
      flag value
    • getType

      public Class getType()
      Returns the Class being inspected by this instance.
      返回:
      inspected class
    • inspect

      public ClassTool inspect(String name)
      Returns a new ClassTool instance that is inspecting the Class with the specified name. If the specified Class cannot be found, then this will return null. All other configuration settings will be copied to the new instance.
      参数:
      name - class name
      返回:
      new class tool
    • inspect

      public ClassTool inspect(Object obj)
      Returns a new ClassTool instance that is inspecting the Class of the specified Object. If the specified object is null, then this will return null. All other configuration settings will be copied to the new instance.
      参数:
      obj - object instance to inspect
      返回:
      new class tool
    • getSuper

      public ClassTool getSuper()
      Returns a new ClassTool instance that is inspecting the superclass of the Class being inspected by this instance. If the current inspectee has no super class, then this will return null. All other configuration settings will be copied to the new instance.
      返回:
      parent class tool
    • inspect

      public ClassTool inspect(Class type)
      Returns a new ClassTool instance that is inspecting the the specified Class. If the specified class is null, then this will return null. All other configuration settings will be copied to the new instance. If SafeConfig.isSafeMode() is true and the specified Class is not declared public, then this will return null.
      参数:
      type - class to inspect
      返回:
      new class tool
    • getPackage

      public String getPackage()
      Returns the name of the package to which the inspected Class belongs.
      返回:
      package name
    • getName

      public String getName()
      Returns the simple name (i.e. full name with package name removed) of the inspected Class.
      返回:
      inspected class simple name
    • getFullName

      public String getFullName()
      Returns the fully-qualified name for the inspected Class.
      返回:
      inspected class name
    • supportsNewInstance

      public boolean supportsNewInstance()
      Returns true if a call to newInstance() on the Class being inspected is successful; otherwise returns false. Unlike calling newInstance() directly from a template, this will not throw an Exception if it fails, as all Exceptions are caught.
      返回:
      new instances supported or not
    • isDeprecated

      public boolean isDeprecated()
      Returns true if the inspected Class has been deprecated.
      返回:
      deprecation status
    • isPublic

      public boolean isPublic()
      Returns true if the inspected Class is declared public.
      返回:
      whether the inspected class is public
    • isProtected

      public boolean isProtected()
      Returns true if the inspected Class is declared protected.
      返回:
      whether the inspected class is protected
    • isPrivate

      public boolean isPrivate()
      Returns true if the inspected Class is declared private.
      返回:
      whether the inspected class is private
    • isStatic

      public boolean isStatic()
      Returns true if the inspected Class is an inner class that has been declared static or is a standard outer class..
      返回:
      whether the inspected class is static
    • isFinal

      public boolean isFinal()
      Returns true if the inspected Class is declared final.
      返回:
      whether the inspected class is final
    • isInterface

      public boolean isInterface()
      Returns true if the inspected Class is an interface.
      返回:
      whether the inspected class is an interface
    • isStrict

      public boolean isStrict()
      Returns true if the inspected Class is declared strictfp (uses strict floating point math).
      返回:
      whether the inspected class is strictfp
    • isAbstract

      public boolean isAbstract()
      Returns true if the inspected Class is declared abstract.
      返回:
      whether the inspected class is abstract
    • getMethods

      public List<ClassTool.MethodSub> getMethods()
      Returns a List of ClassTool.MethodSubs for each method declared method in the inspected class. However, in safe mode (which *is* the default), this will only return the public methods. You must configure safe mode to be off to receive a list of all methods.
      返回:
      methods inspectors list
    • getConstructors

      public List<ClassTool.ConstructorSub> getConstructors()
      Returns a List of ClassTool.ConstructorSubs for each constructor declared constructor in the inspected class. However, in safe mode (which *is* the default), this will only return the public constructors. You must configure safe mode to be off to receive a list of all constructors.
      返回:
      constructors inspectors list
    • getFields

      public List<ClassTool.FieldSub> getFields()
      Returns a List of ClassTool.FieldSubs for each field declared field in the inspected class. However, in safe mode (which *is* the default), this will only return the public fields. You must configure safe mode to be off to receive a list of all fields.
      返回:
      fields inspectors list
    • getTypes

      public Set<Class> getTypes()
      Returns a Set of all Classes that are part of the signatures (i.e. parameters or return types) of the inspected Class's methods, constructors and fields.
      返回:
      referenced classes set
    • getAnnotations

      public List<Annotation> getAnnotations()
      Returns the Annotations of the Class being inspected.
      返回:
      annotation list
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
      返回:
      string representation of inspected class