preseed_package.pp:

define preseed_package ( $ensure ) {
file { "/var/local/preseed/$name.preseed":
source => "puppet://$server/files/preseeds/$name.preseed",
mode => 600,
backup => false,
require => File["/var/local/preseed"]
}

package { "$name":
ensure => $ensure,
require => File["/var/local/preseed/$name.preseed"],
responsefile => "/var/local/preseed/$name.preseed",
}
}

portion of manifest with java:

preseed_package {
"sun-java6-bin": ensure => "present";
"sun-java6-jdk": ensure => "present";
"sun-java6-jre": ensure => "present";
}