#!/usr/bin/perl -w
my @vars;
while(<DATA>) {
if( /(\S+)\s+(\S+)\s*;/ ) {
push @vars, { type => $1, name => $2 };
}
print;
}
print << "EOF";
public CONSTRUCTOR(
${\(&args())}
)
{
${\(&init())}
}
${\(&sets())}
${\(&gets())}
EOF
sub args {
return join(",\n", map { " $_->{type} $_->{name}" } @vars );
}
sub init {
return join("\n", map { " this.$_->{name} = $_->{name};" } @vars );
}
sub sets {
return join("\n", map {
" public void set".ucfirst($_->{name})."($_->{type} $_->{name}) { this.$_->{name} = $_->{name}; }" } @vars );
}
sub gets {
return join("\n", map {
" public $_->{type} get".ucfirst($_->{name})."() { return $_->{name}; }" } @vars );
}
__END__
public int x;
public Integer y;