Pre-heat oven to 160°C/325°F/Gas Mark 3. Place the orange slices, onion slices, cloves, peppercorns and star anise in the bottom of a large roasting tin. Place a trivet on top of the oranges and onions. Sit the ham on the trivet and pour over boiled water into the roasting tin, about 4cm high.
Tightly double layer the ham in foil. Place in the lower half of the oven and bake for 4 hours.
Carefully remove from the oven. Place the ham onto a chopping board and discard the liquid. Peel off the skin leaving a thin layer of fat. Score all over in a diagonal pattern with a knife.
In a saucepan melt the marmalade, sugar, mustard and allspice. Boil for 5 minutes until glossy and thick. Remove from the heat and leave to cool.
Increase the oven temperature to 200°C/400°F/Gas Mark 6. Brush the ham with the glaze then put back in the oven for 20 minutes or until golden brown.