Boil the ham in boiling water, skimming the scum from the top of the joint, for about an hour. This just speeds up the cooking time.
Allow the ham to cool enough so that you can handle it. Meanwhile, mix together the balsamic, pineapple juice and grainy mustard.
Score the ham with a sharp knife one way and then score it in the opposite direction to create diamond shapes on the flesh of the meat. Poke a clove onto the points of each diamond.
Pour the balsamic mixture over the ham and place into a 170C oven. Cook for half an hour, then scoop up any mixture that has run off the ham and baste the ham. Cook for another two hours, basting every twenty minutes, and if you need more liquid add more pineapple juice. Leave to rest for 20 minutes under foil before serving.