Class Formats

java.lang.Object
org.jboss.weld.util.reflection.Formats

public class Formats extends Object
Utility class to produce friendly names e.g. for debugging
Author:
Pete Muir, Nicklas Karlsson, Jozef Hartinger
  • Method Details

    • formatAsStackTraceElement

      public static String formatAsStackTraceElement(jakarta.enterprise.inject.spi.InjectionPoint ij)
      See also WELD-1454.
      Parameters:
      ij -
      Returns:
      the formatted string
    • formatAsStackTraceElement

      public static String formatAsStackTraceElement(Member member)
    • getLineNumber

      public static int getLineNumber(Member member)
      Try to get the line number associated with the given member. The reflection API does not expose such an info and so we need to analyse the bytecode. Unfortunately, it seems there is no way to get this kind of information for fields. Moreover, the LineNumberTable attribute is just optional, i.e. the compiler is not required to store this information at all. See also Java Virtual Machine Specification Implementation note: it wouldn't be appropriate to add a bytecode scanning dependency just for this functionality, therefore Apache BCEL included in Oracle JDK 1.5+ and OpenJDK 1.6+ is used. Other JVMs should not crash as we only use it if it's on the classpath and by means of reflection calls.
      Parameters:
      member -
      Returns:
      the line number or 0 if it's not possible to find it
    • formatInjectionPointType

      public static String formatInjectionPointType(Type type)
    • formatType

      public static String formatType(Type baseType)
    • formatType

      public static String formatType(Type baseType, boolean simpleNames)
    • formatTypes

      public static String formatTypes(Iterable<? extends Type> baseTypes, boolean simpleNames)
    • formatTypes

      public static String formatTypes(Iterable<? extends Type> baseTypes)
    • formatBusinessInterfaceDescriptors

      public static String formatBusinessInterfaceDescriptors(Iterable<? extends org.jboss.weld.ejb.spi.BusinessInterfaceDescriptor<?>> businessInterfaceDescriptors)
    • addSpaceIfNeeded

      public static String addSpaceIfNeeded(String string)
    • formatAsFormalParameterList

      public static String formatAsFormalParameterList(Iterable<? extends jakarta.enterprise.inject.spi.AnnotatedParameter<?>> parameters, boolean belongsToMethodInEnum)
    • formatParameter

      public static String formatParameter(jakarta.enterprise.inject.spi.AnnotatedParameter<?> parameter)
    • formatModifiers

      public static String formatModifiers(int modifiers)
    • formatActualTypeArguments

      public static String formatActualTypeArguments(Type type)
    • formatActualTypeArguments

      public static String formatActualTypeArguments(Type[] actualTypeArguments)
    • formatActualTypeArguments

      public static String formatActualTypeArguments(Type[] actualTypeArguments, boolean simpleNames)
    • wrapIfNecessary

      public static String wrapIfNecessary(String string, String prepend, String append)
    • formatAnnotations

      public static String formatAnnotations(Iterable<Annotation> annotations)
    • formatAnnotations

      public static String formatAnnotations(Annotation[] annotations)
      Gets a string representation from an array of annotations
      Parameters:
      annotations - The annotations
      Returns:
      The string representation
    • version

      public static String version()
      Returns:
      the formatted version
    • getSimpleVersion

      public static String getSimpleVersion()
      Returns:
      a simple version string, i.e. no formatting is applied
    • version

      public static String version(String version, String timestamp)
    • formatSimpleClassName

      public static String formatSimpleClassName(Object object)
    • formatSimpleClassName

      public static String formatSimpleClassName(Class<?> javaClass)
    • formatAnnotatedType

      public static String formatAnnotatedType(jakarta.enterprise.inject.spi.AnnotatedType<?> type)
    • formatAnnotatedConstructor

      public static String formatAnnotatedConstructor(jakarta.enterprise.inject.spi.AnnotatedConstructor<?> constructor)
    • formatAnnotatedField

      public static String formatAnnotatedField(jakarta.enterprise.inject.spi.AnnotatedField<?> field)
    • formatAnnotatedMethod

      public static String formatAnnotatedMethod(jakarta.enterprise.inject.spi.AnnotatedMethod<?> method)
    • formatAnnotatedParameter

      public static String formatAnnotatedParameter(jakarta.enterprise.inject.spi.AnnotatedParameter<?> parameter)
    • getNameOfMissingClassLoaderDependency

      public static String getNameOfMissingClassLoaderDependency(Throwable e)
      Attempts to extract a name of a missing class loader dependency from an exception such as NoClassDefFoundError or ClassNotFoundException.
    • formatTypeParameters

      public static <D extends GenericDeclaration> String formatTypeParameters(TypeVariable<D>[] typeParams)