Класс Executable

Все реализуемые интерфейсы:
AnnotatedElement, GenericDeclaration, Member
Прямые известные подклассы:
Constructor, Method
public abstract class Executable
extends AccessibleObject
implements Member, GenericDeclaration

Общий суперкласс для общей функциональности Method и Constructor.

С:
1.8

Поля

Поля, объявленные в интерфейсе java.lang.reflect.Member

DECLARED, PUBLIC

Методы

Модификатор и тип Метод Описание
AnnotatedType[] getAnnotatedExceptionTypes()

Возвращает массив объектов AnnotatedType , представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим объектом Executable.

AnnotatedType[] getAnnotatedParameterTypes()

Возвращает массив объектов AnnotatedType , представляющих использование типов для указания формальных типов параметров метода/конструктора, представленного этим объектом Executable.

AnnotatedType getAnnotatedReceiverType()

Возвращает объект AnnotatedType , представляющий использование типа для указания типа получателя метода/конструктора, представленного этим объектом Executable.

abstract AnnotatedType getAnnotatedReturnType()

Возвращает объект AnnotatedType , представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим объектом Executable.

<T extends Annotation>
T
getAnnotation​(Class<T> annotationClass)

Возвращает аннотацию этого элемента для указанного типа, если такая аннотация есть, иначе null.

<T extends Annotation>
T[]
getAnnotationsByType​(Class<T> annotationClass)

Возвращает аннотации, связанные с этим элементом.

abstract Class<?> getDeclaringClass()

Возвращает объект Class , представляющий класс или интерфейс, в котором объявлен исполняемый элемент, представленный этим объектом.

abstract Class<?>[] getExceptionTypes()

Возвращает массив объектов Class , представляющих типы исключений, объявленных как возможные при выполнении базового исполняемого элемента, представленного этим объектом.

Type[] getGenericExceptionTypes()

Возвращает массив объектов Type , представляющих исключения, объявленные как возможные при выполнении этого объекта исполняемого элемента.

Type[] getGenericParameterTypes()

Возвращает массив объектов Type , представляющих формальные типы параметров в порядке объявления исполняемого элемента, представленного этим объектом.

abstract int getModifiers()

Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.

abstract String getName()

Возвращает имя исполняемого элемента, представленного этим объектом.

abstract Annotation[][] getParameterAnnotations()

Возвращает массив массивов аннотаций Annotation формальных параметров, в порядке объявления, исполняемого элемента Executable , представленного этим объектом.

int getParameterCount()

Возвращает количество формальных параметров (явных, неявных или тех и других) для исполняемого элемента, представленного этим объектом.

Parameter[] getParameters()

Возвращает массив объектов Parameter , представляющих все параметры базового исполняемого элемента, представленного этим объектом.

abstract Class<?>[] getParameterTypes()

Возвращает массив объектов Class , представляющих формальные типы параметров в порядке объявления исполняемого элемента, представленного этим объектом.

abstract TypeVariable<?>[] getTypeParameters()

Возвращает массив объектов TypeVariable , представляющих переменные типа, объявленные в общем объявлении, представленном этим объектом GenericDeclaration , в порядке объявления.

boolean isSynthetic()

Возвращает true , если этот исполняемый элемент является искусственным конструктом; возвращает false в противном случае.

boolean isVarArgs()

Возвращает true , если этот исполняемый элемент был объявлен для приема переменного числа аргументов; возвращает false в противном случае.

abstract String toGenericString()

Возвращает строку, описывающую этот объект Executable, включая любые параметры типа.

Методы, объявленные в классе java.lang.reflect.AccessibleObject

canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessible

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе java.lang.reflect.AnnotatedElement

getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent

Методы

getDeclaringClass

public abstract Class<?> getDeclaringClass()

Возвращает объект Class, представляющий класс или интерфейс, в котором объявлен исполняемый элемент, представленный этим объектом.

Указано в:
getDeclaringClass в интерфейсе Member
Возвращает:
объект, представляющий объявляющий класс базового члена

getName

public abstract String getName()

Возвращает имя исполняемого элемента, представленного этим объектом.

Указано в:
getName в интерфейсе Member
Возвращает:
простое имя базового члена

getModifiers

public abstract int getModifiers()

Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.

Указано в:
getModifiers в интерфейсе Member
Возвращает:
модификаторы языка Java для базового члена
См. также:
Modifier

getTypeParameters

public abstract TypeVariable<?>[] getTypeParameters()

Возвращает массив объектов TypeVariable, которые представляют тип переменных, объявленных в общем объявлении, представленном этим объектом GenericDeclaration, в порядке объявления. Возвращает массив длиной 0, если основное общее объявление не объявляет никаких переменных типа.

Указано в:
getTypeParameters в интерфейсе GenericDeclaration
Возвращает:
массив объектов TypeVariable, представляющих переменные типа, объявленные этим общим объявлением
Выбрасывает:
GenericSignatureFormatError - если общее описание этого общего объявления не соответствует формату, указанному в Спецификации виртуальной машины Java™

getParameterTypes

public abstract Class<?>[] getParameterTypes()

Возвращает массив объектов Class, представляющих формальные типы параметров в порядке объявления для исполняемого элемента, представленного этим объектом. Возвращает массив длиной 0, если базовый исполняемый элемент не принимает параметров.

Возвращает:
типы параметров для исполняемого элемента, который представляет этот объект

getParameterCount

public int getParameterCount()

Возвращает количество формальных параметров (явных, неявных или ни тех, ни других) для исполняемого элемента, представленного этим объектом.

Возвращает:
Количество формальных параметров для исполняемого элемента, который представляет этот объект

getGenericParameterTypes

public Type[] getGenericParameterTypes()

Возвращает массив объектов Type, представляющих формальные типы параметров в порядке объявления для исполняемого элемента, представленного этим объектом. Возвращает массив длиной 0, если базовый исполняемый элемент не принимает параметров.

Если формальный тип параметра является параметризованным типом, возвращаемый для него объект Type должен точно отражать фактические параметры типа, используемые в исходном коде.

Если формальный тип параметра является переменной типа или параметризованным типом, он создается. В противном случае он разрешается.

Возвращает:
массив Type, представляющих формальные типы параметров базового исполняемого элемента в порядке объявления
Выбрасывает:
GenericSignatureFormatError - если общее описание метода не соответствует формату, указанному в Спецификации виртуальной машины Java™
TypeNotPresentException - если любой из типов параметров базового исполняемого элемента ссылается на не существующее объявление типа
MalformedParameterizedTypeException - если любой из типов параметров базового исполняемого элемента ссылается на параметризованный тип, который не может быть создан по какой-либо причине

getParameters

public Parameter[] getParameters()

Возвращает массив объектов Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом. Возвращает массив длиной 0, если исполняемый элемент не имеет параметров.

Параметры базового исполняемого элемента не обязательно имеют уникальные имена или имена, являющиеся допустимыми идентификаторами в языке программирования Java (JLS 3.8).

Возвращает:
массив объектов Parameter представляющих все параметры исполняемого элемента, представленного этим объектом.
Выбрасывает:
MalformedParametersException - если в файле класса содержится атрибут MethodParameters с неправильным форматом.

getExceptionTypes

public abstract Class<?>[] getExceptionTypes()

Возвращает массив объектов Class, представляющих типы исключений, объявленных для выбрасывания базовым исполняемым элементом, представленным этим объектом. Возвращает массив длиной 0, если исполняемый элемент не объявляет исключений в своей throws части.

Возвращает:
типы исключений, объявленных для выбрасывания исполняемым элементом, представленным этим объектом

getGenericExceptionTypes

public Type[] getGenericExceptionTypes()

Возвращает массив объектов Type, представляющих исключения, объявленные для выбрасывания этим объектом исполняемого элемента. Возвращает массив длиной 0, если базовый исполняемый элемент не объявляет исключений в своей throws части.

Если тип исключения является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.

Возвращает:
массив типов, представляющих типы исключений, выбрасываемых базовым исполняемым элементом
Выбрасывает:
GenericSignatureFormatError - если общее описание метода не соответствует формату, указанному в Спецификации виртуальной машины Java™
TypeNotPresentException - если throws части базового исполняемого элемента ссылается на не существующее объявление типа
MalformedParameterizedTypeException - если throws части базового исполняемого элемента ссылается на параметризованный тип, который не может быть создан по какой-либо причине

toGenericString

public abstract String toGenericString()

Возвращает строку, описывающую этот Executable, включая параметры типа.

Возвращает:
строку, описывающую этот Executable, включая параметры типа

isVarArgs

public boolean isVarArgs()

Возвращает true если этот исполняемый элемент был объявлен с переменным количеством аргументов; возвращает false в противном случае.

Возвращает:
true тогда и только тогда, когда этот исполняемый элемент был объявлен с переменным количеством аргументов.

isSynthetic

public boolean isSynthetic()

Возвращает true если этот исполняемый элемент является синтетической конструкцией; возвращает false в противном случае.

Указано в:
isSynthetic в интерфейсе Member
Возвращает:
true, если и только если этот исполняемый элемент является синтетической конструкцией, как определено в Спецификации языка Java™.

getParameterAnnotations

public abstract Annotation[][] getParameterAnnotations()

Возвращает массив массивов Annotation, представляющих аннотации формальных параметров, в порядке объявления, для исполняемого элемента Executable , представленного этим объектом. Синтетические и требуемые параметры (см. объяснение ниже), такие как внешний параметр "this" для конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если исполняемый элемент не имеет параметров (то есть нет формальных, синтетических и не требуемых), будет возвращен массив нулевой длины. Если у Executable один или несколько параметров, для каждого параметра без аннотаций возвращается вложенный массив нулевой длины. Объекты аннотаций, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий метод свободен изменять возвращаемые массивы; это не повлияет на массивы, возвращаемые другим вызывающим сторонам. Компилятор может добавить дополнительные параметры, которые неявно объявлены в исходном коде ("требуемые"), а также параметры, которые не являются ни неявно, ни явно объявленными в исходном коде ("синтетические"), в список параметров метода. См. Parameter для получения дополнительной информации.

Возвращает:
массив массивов, представляющих аннотации формальных и неявных параметров в порядке объявления для исполняемого элемента, представленного этим объектом
См. также:
Parameter, AnnotatedElement.getAnnotations()

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)

Возвращает аннотацию этого элемента для указанного типа, если такая аннотация есть, в противном случае null.

Указано в:
getAnnotation в интерфейсе AnnotatedElement
Переопределяет:
getAnnotation в классе AccessibleObject
Параметры типа:
T - тип аннотации, которую требуется запросить и вернуть, если она присутствует
Параметры:
annotationClass - объект Class, соответствующий типу аннотации
Возвращает:
аннотацию этого элемента для указанного типа аннотации, если она присутствует в этом элементе, в противном случае null
Выбрасывает:
NullPointerException - если заданный класс аннотации равен null

getAnnotationsByType

public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)

Возвращает аннотации, связанные с этим элементом. Если с этим элементом нет аннотаций, возвращаемое значение представляет собой массив длиной 0. Разница между этим методом и AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяемым типом аннотации (JLS 9.6), и в этом случае пытается найти одну или несколько аннотаций этого типа, «просмотрев» контейнерную аннотацию. Вызывающий метод свободен изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

Указано в:
getAnnotationsByType в интерфейсе AnnotatedElement
Переопределяет:
getAnnotationsByType в классе AccessibleObject
Параметры типа:
T - тип аннотации, которую требуется запросить и вернуть, если она присутствует
Параметры:
annotationClass - объект Class, соответствующий типу аннотации
Возвращает:
все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом, в противном случае массив длиной ноль
Выбрасывает:
NullPointerException - если заданный класс аннотации равен null

getAnnotatedReturnType

public abstract AnnotatedType getAnnotatedReturnType()

Возвращает объект AnnotatedType, представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим объектом Executable. Если этот объект Executable представляет конструктор, объект AnnotatedType представляет тип создаваемого объекта. Если этот объект Executable представляет метод, объект AnnotatedType представляет использование типа для указания возвращаемого типа метода.

Возвращает:
объект, представляющий возвращаемый тип метода или конструктора, представленного этим объектом Executable

getAnnotatedReceiverType

public AnnotatedType getAnnotatedReceiverType()

Возвращает объект AnnotatedType, представляющий использование типа для указания типа получателя метода/конструктора, представленного этим объектом Executable. Тип получателя метода/конструктора доступен только если метод/конструктор имеет параметр получателя (JLS 8.4.1). Если этот объект Executable представляет метод-инстанс или представляет конструктор внутреннего класса-члена, и метод/конструктор либо не имеет параметра получателя, либо имеет параметр получателя без аннотаций на его типе, то возвращаемое значение — объект AnnotatedType , представляющий элемент без аннотаций. Если этот объект Executable представляет статический метод или представляет конструктор верхнего уровня, статического члена, локального или анонимного класса, то возвращаемое значение null.

Возвращает:
объект, представляющий тип получателя метода или конструктора, представленного этим объектом Executable или null, если этот объект Executable не может иметь параметр получателя

getAnnotatedParameterTypes

public AnnotatedType[] getAnnotatedParameterTypes()

Возвращает массив объектов AnnotatedType, представляющих использование типов для указания типов формальных параметров метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов формальных параметров в объявлении метода/конструктора. Возвращает массив длины 0, если метод/конструктор не объявляет параметров.

Возвращает:
массив объектов, представляющих типы формальных параметров метода или конструктора, представленного этим объектом Executable

getAnnotatedExceptionTypes

public AnnotatedType[] getAnnotatedExceptionTypes()

Возвращает массив объектов AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов исключений в объявлении метода/конструктора. Возвращает массив длины 0, если метод/конструктор не объявляет исключений.

Возвращает:
массив объектов, представляющих объявленные исключения метода или конструктора, представленного этим объектом Executable

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Executable.html

Spec-Zone .ru
спецификации, руководства, описания, API