private Service getServiceInfos(ClassLoader compileClassLoader) {
    Service service = new Service();

    // get some service properties from pom
    service.setServiceId(serviceId);
    service.setName(project.getName());

    // find @ServiceDoc annotated class in source folder
    JavaProjectBuilder builder = new JavaProjectBuilder();
    builder.addSourceTree(new File(source));
    JavaClass serviceInfo = builder.getSources().stream()
        .flatMap(javaSource -> javaSource.getClasses().stream())
        .filter(javaClass -> hasAnnotation(javaClass, ServiceDoc.class))
        .findFirst().orElse(null);

    // populate further service information from @ServiceDoc class and @LinkRelationDoc fields
    if (serviceInfo != null) {
      service.setDescriptionMarkup(serviceInfo.getComment());

      serviceInfo.getFields().stream()
      .filter(field -> hasAnnotation(field, LinkRelationDoc.class))
      .map(field -> toLinkRelation(serviceInfo, field, compileClassLoader))
      .forEach(service::addLinkRelation);
    }

    // resolve link relations
    service.resolve();

    return service;
  }
private Service getServiceInfos ( ClassLoader compileClassLoader ) { Service service = new Service ( ) ; service . setServiceId ( serviceId ) ; service . setName ( project . getName ( ) ) ; JavaProjectBuilder builder = new JavaProjectBuilder ( ) ; builder . addSourceTree ( new File ( source ) ) ; JavaClass serviceInfo = builder . getSources ( ) . stream ( ) . flatMap ( javaSource -> javaSource . getClasses ( ) . stream ( ) ) . filter ( javaClass -> hasAnnotation ( javaClass , ServiceDoc . class ) ) . findFirst ( ) . orElse ( null ) ; if ( serviceInfo != null ) { service . setDescriptionMarkup ( serviceInfo . getComment ( ) ) ; serviceInfo . getFields ( ) . stream ( ) . filter ( field -> hasAnnotation ( field , LinkRelationDoc . class ) ) . map ( field -> toLinkRelation ( serviceInfo , field , compileClassLoader ) ) . forEach ( service :: addLinkRelation ) ; } service . resolve ( ) ; return service ; }
Get service infos from current maven project.
@return Service