Método constructor getAnnotatedReceiverType() en Java con ejemplos

El método getAnnotatedReceiverType() de una clase Constructor se usa para devolver un objeto AnnotatedType que representa AnnotatedType para especificar el tipo de receptor de este constructor. Si el constructor tiene un parámetro de receptor, entonces está disponible el tipo de receptor de un constructor. Si este constructor no tiene un parámetro de receptor o tiene un parámetro de receptor sin anotaciones en su tipo, el valor devuelto es un objeto AnnotatedType que representa un elemento sin anotaciones. Si este constructor es un miembro estático de nivel superior, el valor devuelto es nulo.

Sintaxis:

public AnnotatedType getAnnotatedReceiverType()

Parámetros: Este método no acepta nada.

Valor devuelto: este método devuelve un objeto de AnnotatedType que representa el tipo de receptor del método o constructor representado por este ejecutable o nulo si este ejecutable no puede tener un parámetro de receptor.

Los siguientes programas ilustran el método getAnnotatedReceiverType():
Programa 1:

// Java program to demonstrate
// Constructor.getAnnotatedReceiverType() method
  
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Constructor;
  
public class GFG {
  
    public static void main(String[] args)
        throws NoSuchMethodException
    {
  
        // create a constructor class
        Constructor<?> c = Test.class.getConstructors()[0];
  
        // apply getAnnotatedReceiverType()
        AnnotatedType atr
            = c.getAnnotatedReceiverType();
  
        // print result
        System.out.println(atr);
        System.out.println("Type = "
                           + atr.getType().getTypeName());
    }
}
class Test {
    public Test(@Annotation Test test) {}
}
  
@Target({ ElementType.TYPE_USE })
@Retention(RetentionPolicy.RUNTIME)
@interface Annotation {
}
Producción:

sun.reflect.annotation.AnnotatedTypeFactory$AnnotatedTypeBaseImpl@12a3a380
Type = Test

Programa 2:

// Java program to demonstrate
// Constructor.getAnnotatedReceiverType() method
  
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Constructor;
  
public class GFG {
  
    public static void main(String[] args)
        throws NoSuchMethodException
    {
  
        // create a constructor class
        Constructor<?> c
            = Demo.class.getConstructors()[0];
  
        // apply getAnnotatedReceiverType()
        AnnotatedType atr
            = c.getAnnotatedReceiverType();
  
        // print result
        System.out.println(atr);
        System.out.println("Type = "
                           + atr.getType().getTypeName());
    }
}
class Demo {
    public Demo(@PathVar String str) {}
}
  
@Target({ ElementType.TYPE_USE })
@Retention(RetentionPolicy.RUNTIME)
@interface PathVar {
}
Producción:

sun.reflect.annotation.AnnotatedTypeFactory$AnnotatedTypeBaseImpl@12a3a380
Type = Demo

Referencias: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getAnnotatedReceiverType()

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *