@Override
public QName fromBinding(final BaseIdentity bindingValue) {
- return BindingReflections.getQName(bindingValue.implementedInterface());
+ return BindingReflections.getQName(bindingValue);
}
}
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
-import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
import com.google.common.cache.CacheBuilder;
return Optional.empty();
}
- public static @NonNull QName getQName(final Class<? extends BaseIdentity> bindingClass) {
- return CLASS_TO_QNAME.getUnchecked(requireNonNull(bindingClass))
- .orElseThrow(() -> new IllegalStateException("Failed to resolve QName of " + bindingClass));
+ public static @NonNull QName getQName(final BaseIdentity identity) {
+ return CLASS_TO_QNAME.getUnchecked(identity.implementedInterface())
+ .orElseThrow(() -> new IllegalStateException("Failed to resolve QName of " + identity));
}
/**
assertFalse(BindingReflections.resolveRpcOutputClass(
TestImplementation.class.getDeclaredMethod("rpcMethodTest2")).isPresent());
- assertEquals(QName.create("test", "test"), BindingReflections.getQName(TestIdentity.class));
+ assertEquals(QName.create("test", "test"), BindingReflections.getQName(TestIdentity.VALUE));
}
interface TestIdentity extends BaseIdentity {
QName QNAME = QName.create("test", "test");
+ TestIdentity VALUE = () -> TestIdentity.class;
+ @Override
+ Class<? extends TestIdentity> implementedInterface();
}
static final class TestImplementation implements Augmentation<TestImplementation>, RpcService {