CoreLMConfig.java
package org.heigit.ors.routing.graphhopper.extensions.core;
import com.graphhopper.routing.lm.LMConfig;
import com.graphhopper.routing.weighting.Weighting;
import org.heigit.ors.routing.graphhopper.extensions.edgefilters.core.LMEdgeFilterSequence;
import java.util.Objects;
public class CoreLMConfig extends LMConfig {
LMEdgeFilterSequence edgeFilter;
public CoreLMConfig(String profileName, Weighting weighting) {
super(profileName, weighting);
}
public CoreLMConfig setEdgeFilter(LMEdgeFilterSequence edgeFilter) {
this.edgeFilter = edgeFilter;
return this;
}
public LMEdgeFilterSequence getEdgeFilter() {
return edgeFilter;
}
@Override
public String getName() {
return getSuperName() + "_" + edgeFilter.getName();
}
public String getSuperName() {
return super.getName();
}
@Override
public String toString() {
return getName();
}
@Override
public boolean equals(Object o) {
if (!super.equals(o)) {
return false;
} else if (o != null && this.getClass() == o.getClass()) {
CoreLMConfig lmConfig = (CoreLMConfig) o;
return Objects.equals(this.edgeFilter, lmConfig.edgeFilter);
} else {
return false;
}
}
@Override
public int hashCode() {
return (getSuperName() + edgeFilter.toString()).hashCode();
}
}