INNER CODE UNIT · Java

serviceInterfaces

scalecube/scalecube-services · services-api/src/main/java/io/scalecube/services/Reflect.java:254

  public static Stream<Class<?>> serviceInterfaces(Object serviceObject) {
    Class<?> current = serviceObject.getClass();
    Set<Class<?>> interfaces = new HashSet<>();
    while (current != Object.class) {
      interfaces.addAll(Arrays.asList(current.getInterfaces()));
      current = current.getSuperclass();
    }
    return interfaces.stream()
        .filter(interfaceClass -> interfaceClass.isAnnotationPresent(Service.class));
  }

  /**
   * Extracting method name, checks for annotation {@link ServiceMethod}.
   *
   * @param method method
   * @return method name
   */
  public static String methodName(Method method) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…