Charge When Low Disposition
Send the vehicle to charge when it is low, and otherwise do whatever another policy says.
A decorator rather than a rule of its own, because "charge when low" is orthogonal to what a vehicle does with itself the rest of the time: a fleet that gathers at a staging point and a fleet that returns to its own home base both need it, and neither should have to reimplement the other's parking rule to get it.
This is not the guard against running flat. It is consulted only when the dispatcher has no work for the vehicle, so a fleet that is busy enough never reaches it -- and a busy fleet is exactly the one that empties its batteries. Pair it with ChargeReservePolicy, which is what stops a vehicle accepting work it cannot finish.
Parameters
the fraction of capacity at or below which the vehicle goes to charge
what it does when it is not low, or when no charger is reachable