code: public List<JavaResource> getProjectInjectionPointBeans(Project project)
     {
        final List<JavaResource> beans = new ArrayList<>();
        if (project != null)
        {
           project.getFacet(JavaSourceFacet.class).visitJavaSources(new JavaResourceVisitor()
           {
              @Override
              public void visit(VisitContext context, JavaResource resource)
              {
                 try
                 {
                    JavaSource<?> javaSource = resource.getJavaType();
                    if (javaSource.isClass()
                             // JPA
                             && !javaSource.hasAnnotation(Entity.class)
                             && !javaSource.hasAnnotation(MappedSuperclass.class)
                             && !javaSource.hasAnnotation(Embeddable.class)
                             // Bean Validation
                             && !javaSource.hasImport(Payload.class)
                    )
                    {
                       beans.add(resource);
                    }
                 }
                 catch (FileNotFoundException e)
                 {
                    // ignore
                 }
              }
           });
        }
        return beans;
     }
docs: Returns all the objects from the given {@link Project} that support injection point. Most of the Java EE
  components can use @Inject, except most of the JPA artifacts (entities, embeddable...)