Setting "distance" for BGP routes/peers

what I am basically looking for is a way to set administrative distance to different BGP routes to different values.
Some BGP learned routes may be better than the static route and others could be worse… Depending on the specific setup (trying to design a generic feature)