All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.svws_nrw.db.converter.current.NoteConverterFromNotenpunkteString Maven / Gradle / Ivy

Go to download

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;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy