|
Spec-Zone .ru
спецификации, руководства, описания, API
|
| Модификатор | Конструктор и Описание |
|---|---|
|
ConstantCallSite(MethodHandle target)
Создает сайт вызова с постоянной целью.
|
protected |
ConstantCallSite(MethodType targetType, MethodHandle createTargetHook)
Создает сайт вызова с постоянной целью, возможно связанной с сайтом вызова непосредственно.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
MethodHandle |
dynamicInvoker()
Возвраты постоянная цель сайта этого вызова.
|
MethodHandle |
getTarget()
Возвращает целевой метод сайта вызова, который ведет себя как a
final поле ConstantCallSite. |
void |
setTarget(MethodHandle ignore)
Всегда броски
UnsupportedOperationException. |
public ConstantCallSite(MethodHandle target)
target - цель, которая будет постоянно связана с этим сайтом вызоваNullPointerException - если предложенная цель является нулемprotected ConstantCallSite(MethodType targetType, MethodHandle createTargetHook) throws Throwable
Во время конструкции сайта вызова, createTargetHook вызывается, чтобы произвести фактическую цель, как будто вызовом формы (MethodHandle) createTargetHook.invoke(this).
Отметьте, что пользовательский код не может выполнить такое действие непосредственно в конструкторе подкласса, так как цель должна быть фиксирована перед ConstantCallSite конструктор возвращается.
Рычаг, как говорят, связывает сайт вызова с целевым дескриптором метода, и типичное действие было бы someTarget.bindTo(this). Однако, рычаг свободен предпринять любые меры вообще, включая игнорирование сайта вызова и возврат постоянной цели.
Результатом, возвращенным рычагом, должен быть дескриптор метода точно того же самого типа как сайт вызова.
В то время как рычаг вызывают, новое ConstantCallSite объект находится в частично созданном состоянии. В этом состоянии, звонке getTarget, или любая другая попытка использовать цель, приведет к IllegalStateException. Законно всегда получить тип сайта вызова, используя type метод.
targetType - тип метода обрабатывает, чтобы быть постоянно связанным с этим сайтом вызоваcreateTargetHook - дескриптор метода, чтобы вызвать (на сайт вызова), чтобы произвести цель сайта вызоваWrongMethodTypeException - если рычаг не может быть вызван на необходимые параметры, или если цель, возвращенная рычагом, не имеет данного targetTypeNullPointerException - если рычаг возвращает нулевое значениеClassCastException - если рычаг возвращает что-то другое чем a MethodHandleThrowable - что-либо еще брошенное функция рычагаpublic final MethodHandle getTarget()
final поле ConstantCallSite. Таким образом, цель всегда является исходным значением, которое передают к вызову конструктора, который создал этот экземпляр.getTarget в class CallSiteIllegalStateException - если ConstantCallSite конструктор не завершилсяConstantCallSite, VolatileCallSite, CallSite.setTarget(java.lang.invoke.MethodHandle), getTarget(), MutableCallSite.getTarget(), VolatileCallSite.getTarget()public final void setTarget(MethodHandle ignore)
UnsupportedOperationException. Этот вид сайта вызова не может изменить свою цель.setTarget в class CallSiteignore - новая цель, предложенная для сайта вызова, который игнорируетсяUnsupportedOperationException - потому что этот вид сайта вызова не может изменить свою цельCallSite.getTarget(), setTarget(java.lang.invoke.MethodHandle), MutableCallSite.setTarget(java.lang.invoke.MethodHandle), VolatileCallSite.setTarget(java.lang.invoke.MethodHandle)public final MethodHandle dynamicInvoker()
CallSite.dynamicInvoker.dynamicInvoker в class CallSiteIllegalStateException - если ConstantCallSite конструктор не завершился
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92