feign.Util.isDefault()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(152)

本文整理了Java中feign.Util.isDefault()方法的一些代码示例,展示了Util.isDefault()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Util.isDefault()方法的具体详情如下:
包路径:feign.Util
类名称:Util
方法名:isDefault

Util.isDefault介绍

[英]Identifies a method as a default instance method.
[中]将方法标识为默认实例方法。

代码示例

代码示例来源:origin: com.netflix.feign/feign-core

  1. @Override
  2. public List<MethodMetadata> parseAndValidatateMetadata(Class<?> targetType) {
  3. checkState(targetType.getTypeParameters().length == 0, "Parameterized types unsupported: %s",
  4. targetType.getSimpleName());
  5. checkState(targetType.getInterfaces().length <= 1, "Only single inheritance supported: %s",
  6. targetType.getSimpleName());
  7. if (targetType.getInterfaces().length == 1) {
  8. checkState(targetType.getInterfaces()[0].getInterfaces().length == 0,
  9. "Only single-level inheritance supported: %s",
  10. targetType.getSimpleName());
  11. }
  12. Map<String, MethodMetadata> result = new LinkedHashMap<String, MethodMetadata>();
  13. for (Method method : targetType.getMethods()) {
  14. if (method.getDeclaringClass() == Object.class ||
  15. (method.getModifiers() & Modifier.STATIC) != 0 ||
  16. Util.isDefault(method)) {
  17. continue;
  18. }
  19. MethodMetadata metadata = parseAndValidateMetadata(targetType, method);
  20. checkState(!result.containsKey(metadata.configKey()), "Overrides unsupported: %s",
  21. metadata.configKey());
  22. result.put(metadata.configKey(), metadata);
  23. }
  24. return new ArrayList<MethodMetadata>(result.values());
  25. }

代码示例来源:origin: kptfh/feign-reactive

  1. @SuppressWarnings("unchecked")
  2. public <T> T newInstance(Target<T> target) {
  3. final Map<String, MethodHandler> nameToHandler = targetToHandlersByName.apply(target);
  4. final Map<Method, InvocationHandlerFactory.MethodHandler> methodToHandler = new LinkedHashMap<>();
  5. final List<DefaultMethodHandler> defaultMethodHandlers = new LinkedList<>();
  6. for (final Method method : target.type().getMethods()) {
  7. if (isDefault(method)) {
  8. final DefaultMethodHandler handler = new DefaultMethodHandler(method);
  9. defaultMethodHandlers.add(handler);
  10. methodToHandler.put(method, handler);
  11. } else {
  12. methodToHandler.put(method,
  13. nameToHandler.get(Feign.configKey(target.type(), method)));
  14. }
  15. }
  16. final InvocationHandler handler = factory.create(target, methodToHandler);
  17. T proxy = (T) Proxy.newProxyInstance(target.type().getClassLoader(),
  18. new Class<?>[] {target.type()}, handler);
  19. for (final DefaultMethodHandler defaultMethodHandler : defaultMethodHandlers) {
  20. defaultMethodHandler.bindTo(proxy);
  21. }
  22. return proxy;
  23. }

代码示例来源:origin: com.netflix.feign/feign-core

  1. /**
  2. * creates an api binding to the {@code target}. As this invokes reflection, care should be taken
  3. * to cache the result.
  4. */
  5. @SuppressWarnings("unchecked")
  6. @Override
  7. public <T> T newInstance(Target<T> target) {
  8. Map<String, MethodHandler> nameToHandler = targetToHandlersByName.apply(target);
  9. Map<Method, MethodHandler> methodToHandler = new LinkedHashMap<Method, MethodHandler>();
  10. List<DefaultMethodHandler> defaultMethodHandlers = new LinkedList<DefaultMethodHandler>();
  11. for (Method method : target.type().getMethods()) {
  12. if (method.getDeclaringClass() == Object.class) {
  13. continue;
  14. } else if(Util.isDefault(method)) {
  15. DefaultMethodHandler handler = new DefaultMethodHandler(method);
  16. defaultMethodHandlers.add(handler);
  17. methodToHandler.put(method, handler);
  18. } else {
  19. methodToHandler.put(method, nameToHandler.get(Feign.configKey(target.type(), method)));
  20. }
  21. }
  22. InvocationHandler handler = factory.create(target, methodToHandler);
  23. T proxy = (T) Proxy.newProxyInstance(target.type().getClassLoader(), new Class<?>[]{target.type()}, handler);
  24. for(DefaultMethodHandler defaultMethodHandler : defaultMethodHandlers) {
  25. defaultMethodHandler.bindTo(proxy);
  26. }
  27. return proxy;
  28. }

代码示例来源:origin: OpenFeign/feign-vertx

  1. @Override
  2. @SuppressWarnings("unchecked")
  3. public <T> T newInstance(final Target<T> target) {
  4. checkNotNull(target, "Argument target must be not null");
  5. final Map<String, MethodHandler> nameToHandler = targetToHandlersByName.apply(target);
  6. final Map<Method, MethodHandler> methodToHandler = new HashMap<>();
  7. final List<DefaultMethodHandler> defaultMethodHandlers = new ArrayList<>();
  8. for (final Method method : target.type().getMethods()) {
  9. if (isDefault(method)) {
  10. final DefaultMethodHandler handler = new DefaultMethodHandler(method);
  11. defaultMethodHandlers.add(handler);
  12. methodToHandler.put(method, handler);
  13. } else {
  14. methodToHandler.put(method, nameToHandler.get(Feign.configKey(target.type(), method)));
  15. }
  16. }
  17. final InvocationHandler handler = factory.create(target, methodToHandler);
  18. final T proxy = (T) Proxy.newProxyInstance(
  19. target.type().getClassLoader(),
  20. new Class<?>[] { target.type() },
  21. handler);
  22. for (final DefaultMethodHandler defaultMethodHandler : defaultMethodHandlers) {
  23. defaultMethodHandler.bindTo(proxy);
  24. }
  25. return proxy;
  26. }

代码示例来源:origin: io.github.reactivefeign/feign-reactive-core

  1. @SuppressWarnings("unchecked")
  2. public <T> T newInstance(Target<T> target) {
  3. final Map<String, MethodHandler> nameToHandler = targetToHandlersByName
  4. .apply(target);
  5. final Map<Method, MethodHandler> methodToHandler = new LinkedHashMap<>();
  6. final List<DefaultMethodHandler> defaultMethodHandlers = new LinkedList<>();
  7. for (final Method method : target.type().getMethods()) {
  8. if (isDefault(method)) {
  9. final DefaultMethodHandler handler = new DefaultMethodHandler(method);
  10. defaultMethodHandlers.add(handler);
  11. methodToHandler.put(method, handler);
  12. }
  13. else {
  14. methodToHandler.put(method,
  15. nameToHandler.get(Feign.configKey(target.type(), method)));
  16. }
  17. }
  18. final InvocationHandler handler = factory.create(target, methodToHandler);
  19. T proxy = (T) Proxy.newProxyInstance(target.type().getClassLoader(),
  20. new Class<?>[] { target.type() }, handler);
  21. for (final DefaultMethodHandler defaultMethodHandler : defaultMethodHandlers) {
  22. defaultMethodHandler.bindTo(proxy);
  23. }
  24. return proxy;
  25. }

代码示例来源:origin: io.github.openfeign/feign-hystrix

  1. if (Util.isDefault(method)) {
  2. return hystrixCommand.execute();
  3. } else if (isReturnsHystrixCommand(method)) {

相关文章