2 * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.javav2.dom.adapter.impl.operation.invoker;
10 import com.google.common.annotations.Beta;
11 import java.lang.invoke.MethodHandle;
12 import java.lang.invoke.MethodType;
13 import java.util.concurrent.Future;
14 import org.opendaylight.mdsal.binding.javav2.spec.base.Action;
15 import org.opendaylight.mdsal.binding.javav2.spec.base.Instantiable;
16 import org.opendaylight.mdsal.binding.javav2.spec.base.ListAction;
17 import org.opendaylight.mdsal.binding.javav2.spec.base.Operation;
18 import org.opendaylight.mdsal.binding.javav2.spec.base.Rpc;
19 import org.opendaylight.yangtools.yang.common.RpcResult;
22 class OperationMethodInvokerWithoutInput extends OperationMethodInvoker {
24 private static final MethodType INVOCATION_SIGNATURE =
25 MethodType.methodType(Future.class, Rpc.class, Action.class, ListAction.class);
27 private final MethodHandle handle;
29 OperationMethodInvokerWithoutInput(final MethodHandle methodHandle) {
30 this.handle = methodHandle.asType(INVOCATION_SIGNATURE);
34 public <T extends Operation> Future<RpcResult<?>> invokeOn(final T impl, final Instantiable<?> input) {
35 return invoking(handle, impl);