class AbstractWeighting implements Weighting {

    @Override
    public String toString() {
        String turnCostProviderName = turnCostProvider.getName();
        String result = getName() + "|" + flagEncoder;
        if (!isEmpty(turnCostProviderName)) {
            result += "|u_turn_costs=" + turnCostProviderName;
        }
        return result;
    }

    protected  AbstractWeighting(FlagEncoder encoder);
    protected  AbstractWeighting(FlagEncoder encoder, TurnCostProvider turnCostProvider);

}