Combine oil and ginger in a jar and set aside to infuse (2 days).
Thickly slice two pineapples into rings, remove core with a cutter, set aside. Coarsely chop remaining pineapple, process in a food processor to a coarse purée, set aside.
Preheat oven to 200C. Strain ginger oil (discard solids) and heat in a large frying pan over high heat. Add pineapple rings in batches and cook, turning once, until golden (3-4 minutes), drain on absorbent paper, place in a large roasting pan.
Melt palm sugars and 100ml water in a saucepan over medium heat (5-7 minutes). Add cinnamon, cardamom, pineapple purée and half the star anise, simmer until thick (15-20 minutes). Add clove and half the lime juice, strain (discard solids). Pour over pineapple and roast until caramelised (10-15 minutes), set aside.
Meanwhile, reduce oven temperature to 160C. Place ham in a large roasting pan, brush with pineapple caramel (from roasting pan), stud with remaining star anise, scatter pineapple rings on top and around pan and roast, basting occasionally, until ham is caramelised and warmed through (1¼-1½ hours). Season to taste with remaining lime juice and serve warm.
This recipe is from the December 2010 issue of Australian Gourmet Traveller.