
io.vertx.up.uca.web.origin.JobInquirer Maven / Gradle / Ivy
The newest version!
package io.vertx.up.uca.web.origin;
import io.horizon.eon.VMessage;
import io.horizon.uca.log.Annal;
import io.vertx.up.annotations.Job;
import io.vertx.up.atom.worker.Mission;
import io.vertx.up.uca.rs.Extractor;
import io.vertx.up.uca.rs.config.JobExtractor;
import io.vertx.up.util.Ut;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
public class JobInquirer implements Inquirer> {
private static final Annal LOGGER = Annal.get(JobInquirer.class);
private final transient Extractor extractor = Ut.singleton(JobExtractor.class);
@Override
public Set scan(final Set> clazzes) {
final Set> jobs = clazzes.stream()
.filter(item -> item.isAnnotationPresent(Job.class))
.collect(Collectors.toSet());
/* All classes of jobs here */
LOGGER.info(VMessage.Inquirer.JOB, jobs.size());
return jobs.stream().map(this.extractor::extract)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy