de.svws_nrw.db.converter.current.NoteConverterFromNotenpunkteString Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of svws-db Show documentation
Show all versions of svws-db Show documentation
Diese Bibliothek regelt den Zugriff auf Datenbanken für die Schulverwaltungssoftware in NRW
The newest version!
package de.svws_nrw.db.converter.current;
import java.util.Locale;
import jakarta.persistence.Converter;
import de.svws_nrw.core.types.Note;
import de.svws_nrw.db.converter.DBAttributeConverter;
/**
* Diese Klasse dient dem Konvertieren Notentext zur Note.
*/
@Converter(autoApply = true)
public final class NoteConverterFromNotenpunkteString extends DBAttributeConverter {
/** Die Instanz des Konverters */
public static final NoteConverterFromNotenpunkteString instance = new NoteConverterFromNotenpunkteString();
@Override
public String convertToDatabaseColumn(final Note note) {
if (note == null)
return null;
if (note == Note.KEINE)
return null;
if (note == Note.ATTEST)
return "AT";
if (note.notenpunkte == null)
return note.kuerzel;
return String.format((Locale) null, "%02d", note.notenpunkte);
}
@Override
public Note convertToEntityAttribute(final String dbData) {
if (dbData == null)
return Note.KEINE;
try {
return Note.fromNotenpunkte(Integer.parseInt(dbData));
} catch (@SuppressWarnings("unused") final NumberFormatException e) {
return Note.fromKuerzel(dbData);
}
}
@Override
public Class getResultType() {
return Note.class;
}
@Override
public Class getDBType() {
return String.class;
}
}