[Java] Add inner class Builder to build call options. (#4956)

* Add Builder class

* format

* Refactor by IDE

* Remove uncessary dependency
This commit is contained in:
Qing Wang
2019-06-10 23:52:08 +08:00
committed by GitHub
parent 4f8e100fe0
commit e6baffba56
6 changed files with 61 additions and 30 deletions
@@ -1,5 +1,6 @@
package org.ray.api.options;
import java.util.HashMap;
import java.util.Map;
/**
@@ -12,19 +13,32 @@ public class ActorCreationOptions extends BaseTaskOptions {
public final int maxReconstructions;
public ActorCreationOptions() {
super();
this.maxReconstructions = NO_RECONSTRUCTION;
}
public ActorCreationOptions(Map<String, Double> resources) {
super(resources);
this.maxReconstructions = NO_RECONSTRUCTION;
}
public ActorCreationOptions(Map<String, Double> resources, int maxReconstructions) {
private ActorCreationOptions(Map<String, Double> resources, int maxReconstructions) {
super(resources);
this.maxReconstructions = maxReconstructions;
}
/**
* The inner class for building ActorCreationOptions.
*/
public static class Builder {
private Map<String, Double> resources = new HashMap<>();
private int maxReconstructions = NO_RECONSTRUCTION;
public Builder setResources(Map<String, Double> resources) {
this.resources = resources;
return this;
}
public Builder setMaxReconstructions(int maxReconstructions) {
this.maxReconstructions = maxReconstructions;
return this;
}
public ActorCreationOptions createActorCreationOptions() {
return new ActorCreationOptions(resources, maxReconstructions);
}
}
}
@@ -1,5 +1,6 @@
package org.ray.api.options;
import java.util.HashMap;
import java.util.Map;
/**
@@ -7,12 +8,24 @@ import java.util.Map;
*/
public class CallOptions extends BaseTaskOptions {
public CallOptions() {
super();
}
public CallOptions(Map<String, Double> resources) {
private CallOptions(Map<String, Double> resources) {
super(resources);
}
/**
* This inner class for building CallOptions.
*/
public static class Builder {
private Map<String, Double> resources = new HashMap<>();
public Builder setResources(Map<String, Double> resources) {
this.resources = resources;
return this;
}
public CallOptions createCallOptions() {
return new CallOptions(resources);
}
}
}