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

de.svws_nrw.db.schema.ViewSpalte 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.schema;

import de.svws_nrw.db.converter.DBAttributeConverter;
import jakarta.validation.constraints.NotNull;

/**
 * Diese Klasse enthält die Definition einer Spalte einer View
 */
public class ViewSpalte {

	/** Der Name der Spalte in der View */
	public final @NotNull String name;

	/** Die Beschreibung der Spalte zur Dokumentation */
	public final @NotNull String beschreibung;

	/** Der Java-Datentyp der Spalte */
	public final @NotNull String datentyp;

	/** Der SQL-Code für die Spaltendefinition */
	public final @NotNull String sql;

	/** Der Konverter zum automatischen Umwandeln des Datenbank-Wertes beim Einlesen in Java oder null */
	public final Class> converter;


	/**
	 * Erstellt eine neue Spalte für die übergebene View.
	 *
	 * @param name            der Name der Spalte
	 * @param beschreibung    die Beschreibung der Spalte zur Dokumentation
	 * @param datentyp        der Java-Datentyp der Spalte
	 * @param sql             der SQL-Code für die Spaltendefinition
	 * @param converter       der Konverter zum automatischen Umwandeln des Datenbank-Wertes beim Einlesen in Java oder null
	 */
	public ViewSpalte(final @NotNull String name, final @NotNull String beschreibung, final @NotNull String datentyp, final @NotNull String sql,
			final Class> converter) {
		this.name = name;
		this.beschreibung = beschreibung;
		this.datentyp = datentyp;
		this.sql = sql;
		this.converter = converter;
	}


	/**
	 * Liefert den SQL-Code für diese Spalte
	 *
	 * @return der SQL-Code für diese Spalte
	 */
	public String getSQL() {
		return sql + " AS " + name;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy