package com.scrivenvar.service.events.impl;
import com.scrivenvar.service.events.AlertMessage;
import com.scrivenvar.service.events.AlertService;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import static javafx.scene.control.Alert.AlertType.CONFIRMATION;
import static javafx.scene.control.Alert.AlertType.ERROR;
import javafx.stage.Window;
public final class DefaultAlertService implements AlertService {
private Window window;
public DefaultAlertService() {
}
public DefaultAlertService( final Window window ) {
this.window = window;
}
@Override
public AlertMessage createAlertMessage(
final String title,
final String message,
final Object... args ) {
return new DefaultAlertMessage( title, message, args );
}
private Alert createAlertDialog(
final AlertType alertType,
final AlertMessage message ) {
final Alert alert = new Alert( alertType );
alert.setDialogPane( new ButtonOrderPane() );
alert.setTitle( message.getTitle() );
alert.setHeaderText( null );
alert.setContentText( message.getContent() );
alert.initOwner( getWindow() );
return alert;
}
@Override
public Alert createAlertConfirmation( final AlertMessage message ) {
final Alert alert = createAlertDialog( CONFIRMATION, message );
alert.getButtonTypes().setAll( YES, NO, CANCEL );
return alert;
}
@Override
public Alert createAlertError( final AlertMessage message ) {
return createAlertDialog( ERROR, message );
}
private Window getWindow() {
return this.window;
}
@Override
public void setWindow( Window window ) {
this.window = window;
}
}