大したものじゃないけど、Java開発がとってもはかどる。
IDE使えって話かもしれないけど。
staticは非対応。
使い方
echo "private String username; private String password; private Integer age;" | genaccesor.rb
結果
// username public void setUsername(String username) { this.username = username; } public String getUsername() { return this.username; } // password public void setPassword(String password) { this.password = password; } public String getPassword() { return this.password; } // age public void setAge(Integer age) { this.age = age; } public Integer getAge() { return this.age; }
ソース
#!/usr/bin/ruby lines = $stdin.readlines lines.each do |line| line = line.split(/[=;]/)[0] parts = line.scan(/\S+/) # アクセス修飾子削除 parts.delete_if { |item| /^(public|private|protected)$/i =~ item } if parts.size==2 # 型 type = parts.shift # プロパティ名 name = parts.shift upname = name.clone upname[0] = upname[0..0].upcase # output puts sprintf("// %s", name) puts sprintf("public void set%s(%s %s) {", upname, type, name) puts sprintf("\tthis.%s = %s;", name, name) puts "}" puts sprintf("public %s get%s() {", type, upname) puts sprintf("\treturn this.%s;", name) puts "}" puts end end