Major League Baseball confirmed the change Sunday.
Cain was struck near his right elbow by a line drive early in his start against San Diego Saturday. He left the game after throwing a warm-up pitch that sailed to the backstop, having thrown just 35 pitches.
X-rays were negative.
"We're not going to put him in harm's way if we don't think he's right,"
Manager Bruce Bochy told the San Jose Mercury News following Saturday's 2-1 victory. "He means too much to us."
Cain (10-2) was an All-Star selection for the first time in his five-year career.
Duke (8-8) finished fifth in voting for the 2005 NL Rookie of the Year and has bounced back after three straight losing seasons.
He hurled his third complete game this season Friday in a 3-2 loss to Philadelphia.
The All-Star Game is Tuesday at Busch Stadium in St. Louis.
Copyright 2009 by United Press International.