Jeder Java-Entwickler kennt es. Properties definieren und dann Setter und Getter erzeugen lassen. Wenn man was ändert, wird es nervig und wenn man was hinzufügt, muss man die fehlenden Methoden neu generieren lassen. Das geht an sich immer schnell, ist aber doch immer nervig.
Lombok übernimmt die Erzeugung dieser Methoden zur Compiling-Zeit. Die IDE benötigt ein Plugin und der Rest wird dann über Maven erledigt.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
Dadurch spart man Zeit und der Code wird sehr viel übersichtlicher.
package de.hannespries.globalstate;
import lombok.Data;
import java.util.Map;
@Data
public class Action {
private String token;
private String action;
private Map<String, Object> payload;
public Action(){
}
public Action(String action){
this.action = action;
}
public Action(String token, String action){
this.token = token;
this.action = action;
}
}
Manchmal muss man aus Datenbank Spaltennamen Getter und Setter Methodennamen generieren. Ein RegEx mal Callback-Function ist nicht immer die schnellste Lösung. Manchmal sind gute alte String-Functionen doch noch die Beste Lösung.
function convertToCamelCase($text){
$result = '';
$nextUp = false;
for($i = 0; $i < strlen($text); $i++){
$char = substr($text, $i, 1);
if($char == '_'){
$nextUp = true;
}
else if ($nextUp){
$result .= strtoupper($char);
$nextUp = false;
}
else{
$result .= strtolower($char);
}
}
return $result;
}