| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
jukkalettijukkis 20.06.05 21:06 POJO (Plain Old Java Objects) tyyppisten kohdeluokkien (entity classes) generointiin. Enää ei tarvitse koodata, kun tietokone koodaa puolestasi!
#!/usr/bin/perl # Jukkaletti: _private_ tai _protected attribuuttien perusteella generoitavat # settirivit, gettirivit, konstruktori ja toString metodi # korvaa aina olemassaolevat # KÄYTTÖ: lopeta ohjelman kirjoittaminen viimeisen attribuutin jälkeen # ja aja sille jukkaletti seuraavasti: # # For the impatient: # # jukkaletti Puhelin.java # # Tuloksena Puhelin.java-tiedostossa metodeilla täydennetty versio. # # Copyright Jukka Juslin 2005 - # # $filename = @ARGV[0]; #print $filename; open(JAVAPROG, "$filename") or die ("Couldn't open the specified file\n"); while(<JAVAPROG>) { if(/private|protected/) { ($eka, $toka, $kolmas, $neljas) = split(/\s{1,}/, $_); push(@words, $kolmas); $_ = $neljas; s/\;//; $neljas = $_; push(@words, $neljas); push @lines, [@words]; @words = (); } } close JAVAPROG; open(JAVAPROG, ">>$filename") or die ("Couldn't open the specified file\n"); print JAVAPROG "\n"; print JAVAPROG " // oletuskonstruktori\n"; $_ = $filename; s/\.java//; $classname = $_; print JAVAPROG " public " . $classname . "() \{\n"; print JAVAPROG " }"; print JAVAPROG "\n"; print JAVAPROG "\n"; for $i (0 .. $#lines) { print JAVAPROG " public "; for $j (0 .. $#{$lines[$i]}) { if($j%2==0) { print JAVAPROG " $lines[$i][$j]"; $k = $j+1; $alku = uc(substr($lines[$i][$k],0,1)); $loppu = substr($lines[$i][$k],1,); print JAVAPROG " get" . $alku . $loppu; } } } } print JAVAPROG "() {\n"; print JAVAPROG " return(this.$lines[$i][$k]);\n"; print JAVAPROG " }\n"; } for $i (0 .. $#lines) { print JAVAPROG " public void "; for $j (0 .. $#{$lines[$i]}) { if($j%2==0) { #print JAVAPROG " $lines[$i][$j]"; $k = $j+1; $alku = uc(substr($lines[$i][$k],0,1)); $loppu = substr($lines[$i][$k],1,); print JAVAPROG " set" . $alku . $loppu; } } print JAVAPROG "($lines[$i][$j] $lines[$i][$k]) {\n"; print JAVAPROG " this.$lines[$i][$k] = $lines[$i][$k];\n"; print JAVAPROG " }\n"; } print JAVAPROG "\n public String toString() {"; print JAVAPROG "\n String paluu = "; for $i (0 .. $#lines) { for $j (0 .. $#{$lines[$i]}) { if($j%2==0 && $j!=0) { $k = $j+1; print JAVAPROG " \+ \" \" + $lines[$i][$k] "; } elsif($j==0) { print JAVAPROG "$lines[$i][$k]"; } } if($i != $#lines) { print JAVAPROG " + \" \" + "; } } print JAVAPROG ";"; print JAVAPROG "\n return(paluu);\n"; print JAVAPROG " }\n"; print JAVAPROG "}\n"; close JAVAPROG; renni 01:50 21.6.05 Hyvä IDE tekee toki saman homman paljon paremmin. Eihän kukaan ilman IDEä koodaile, eihän? Akiro 23:47 25.6.05 test jukkis 06:03 27.6.05 eikö vim ole tarpeeksi hyvä IDE? Ztane 17:46 27.6.05 Kuka pölijä sillä koodaa javaa... kunnon javaide kääntää lennosta ja kertoo virheet suoraan as you write. C onki sitten eri asia. |
![]() Haku
|