package forscher.nocket.page.gen;
import gengui.annotations.Disabled;
import gengui.annotations.Format;
import gengui.annotations.Prompt;
import gengui.annotations.TableFieldOrder;
import java.io.File;
import java.io.Serializable;
import java.util.Date;
import java.util.concurrent.TimeUnit;
@TableFieldOrder( //
GeneratedConstants.Properties.FormattedDouble + ", " + //
GeneratedConstants.Properties.Spalte1 + ", " + //
GeneratedConstants.Properties.Spalte2 + ", " + //
GeneratedConstants.Properties.Spalte3 + ", " + //
GeneratedConstants.Properties.FormattedDate + ", " + //
GeneratedConstants.Properties.File //
)
public class SpezialTabellenZeile implements Serializable {
private String spalte1;
private String spalte2;
private TimeUnit spalte3;
private File file;
private boolean buttonDisabled;
private Runnable buttonCallback;
public SpezialTabellenZeile(boolean buttonDisabled, Runnable buttonCallback) {
this.buttonDisabled = buttonDisabled;
this.buttonCallback = buttonCallback;
}
public String getSpalte1() {
return spalte1;
}
public void setSpalte1(String spalte1) {
this.spalte1 = spalte1;
}
public String getSpalte2() {
return spalte2;
}
public void setSpalte2(String spalte2) {
this.spalte2 = spalte2;
}
public TimeUnit getSpalte3() {
return spalte3;
}
public void setSpalte3(TimeUnit spalte3) {
this.spalte3 = spalte3;
}
@Format("dd.MM.yyyy' formatted'")
public Date getFormattedDate() {
return new Date();
}
@Format("#0.00")
public double getFormattedDouble() {
return 1 / 3d;
}
public File getFile() {
return file;
}
@Disabled
public void setFile(File file) {
this.file = file;
}
@Prompt(example = "This is a helping text which should become a tooltip")
public void buttonTabelle() {
System.out.println("buttonTabelle: " + toString());
if (buttonCallback != null) {
buttonCallback.run();
}
}
public String disableButtonTabelle() {
if (buttonDisabled) {
return "deaktiviert!";
} else {
return null;
}
}
@Override
public String toString() {
return getClass().getSimpleName() + "[" + spalte1 + "|" + spalte2 + "|" + spalte3 + "]";
}
}