import org.osgi.util.promise.Promise;
import org.osgi.util.function.Consumer;
public interface DataService {
Promise<Data[]> fetchData();
}
public class DataProcessor {
private final DataService dataService;
public DataProcessor(DataService dataService) {
this.dataService = dataService;
}
public void process() {
dataService.fetchData()
.onSuccess(data -> {
for (Data d : data) {
}
})
.onFailure(e -> {
});
}
}
- "OSGi Compendium Specification, Service Compendium, Promises" - https://osgi.org/specification/osgi.cmpn/7.0.0/service.promise.html