1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

added .getSkills() to jobs

This commit is contained in:
oblonski 2014-07-01 23:09:47 +02:00
parent 22265c16d8
commit e99392572d
3 changed files with 25 additions and 27 deletions

View file

@ -18,6 +18,7 @@ package jsprit.core.problem.job;
import jsprit.core.problem.Capacity;
import jsprit.core.problem.Skills;
/**
* Basic interface for all jobs.
@ -40,5 +41,12 @@ public interface Job {
* @return Capacity
*/
public Capacity getSize();
/**
* Returns required skills.
*
* @return
*/
public Skills getRequiredSkills();
}

View file

@ -21,6 +21,7 @@ import java.util.HashSet;
import java.util.Set;
import jsprit.core.problem.Capacity;
import jsprit.core.problem.Skills;
import jsprit.core.problem.solution.route.activity.TimeWindow;
import jsprit.core.util.Coordinate;
@ -71,7 +72,7 @@ public class Service implements Job {
protected Capacity capacity;
protected Set<String> skills = new HashSet<String>();
protected Skills.Builder skillBuilder = Skills.Builder.newInstance();
/**
* Constructs the builder.
@ -187,7 +188,7 @@ public class Service implements Job {
}
public Builder addSkill(String string) {
skills.add(string.toLowerCase());
skillBuilder.addSkill(string);
return this;
}
@ -208,7 +209,7 @@ public class Service implements Job {
private final Capacity size;
private final Set<String> skills;
private final Skills skills;
Service(Builder builder){
id = builder.id;
@ -218,7 +219,7 @@ public class Service implements Job {
timeWindow = builder.timeWindow;
type = builder.type;
size = builder.capacity;
skills = builder.skills;
skills = builder.skillBuilder.build();
}
@Override
@ -319,18 +320,9 @@ public class Service implements Job {
*
* @return
*/
public Set<String> getRequiredSkills() {
return Collections.unmodifiableSet(skills);
}
/**
* Returns true if this contains requiredSkill. Not case sensitive.
*
* @param requiredSkill
* @return
*/
public boolean requiresSkill(String requiredSkill){
return skills.contains(requiredSkill.toLowerCase());
public Skills getRequiredSkills() {
return skills;
}
}

View file

@ -5,6 +5,7 @@ import java.util.HashSet;
import java.util.Set;
import jsprit.core.problem.Capacity;
import jsprit.core.problem.Skills;
import jsprit.core.problem.solution.route.activity.TimeWindow;
import jsprit.core.util.Coordinate;
@ -57,7 +58,7 @@ public class Shipment implements Job{
private Capacity capacity;
private Set<String> skills = new HashSet<String>();
private Skills.Builder skillBuilder = Skills.Builder.newInstance();
/**
* Returns new instance of this builder.
@ -236,8 +237,8 @@ public class Shipment implements Job{
return new Shipment(this);
}
public Builder addSkill(String string) {
skills.add(string.toLowerCase());
public Builder addSkill(String skill) {
skillBuilder.addSkill(skill);
return this;
}
@ -264,7 +265,7 @@ public class Shipment implements Job{
private final Capacity capacity;
private final Set<String> skills;
private final Skills skills;
/**
@ -283,7 +284,7 @@ public class Shipment implements Job{
this.deliveryServiceTime = builder.deliveryServiceTime;
this.deliveryTimeWindow = builder.deliveryTimeWindow;
this.capacity = builder.capacity;
this.skills = builder.skills;
this.skills = builder.skillBuilder.build();
}
@Override
@ -400,11 +401,8 @@ public class Shipment implements Job{
return capacity;
}
public Set<String> getRequiredSkills() {
return Collections.unmodifiableSet(skills);
}
public boolean requiresSkill(String requiredSkill){
return skills.contains(requiredSkill.toLowerCase());
public Skills getRequiredSkills() {
return skills;
}
}