"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_adt_collection_LinkedCollectionElement = exports.LinkedCollectionElement = void 0;
const JavaObject_1 = require("../../../java/lang/JavaObject");
class LinkedCollectionElement extends JavaObject_1.JavaObject {
    _value;
    _prev = null;
    _next = null;
    /**
     * Erstellt eine neues LinkedCollectionElement mit den Wert _value und den
     * übergebenen Vorgänger bzw. Nachfolger
     *
     * @param value   der Wert des SimpleCollectionElements
     * @param prev    der Vorgänger
     * @param next    der Nachfolger
     */
    constructor(value, prev, next) {
        super();
        this._value = value;
        this._prev = prev;
        this._next = next;
    }
    /**
     * Gibt den Wert des Elements zurück.
     *
     * @return der Wert des Elements
     */
    getValue() {
        return this._value;
    }
    /**
     * Ersetzt den Wert des Elements.
     *
     * @param value   der neue Wert des Elements
     *
     * @return der alte Wert des Elements
     */
    setValue(value) {
        let oldValue = this._value;
        this._value = value;
        return oldValue;
    }
    /**
     * Gibt den Vorgänger des Elementes zurück.
     *
     * @return   das LinkedCollectionElement das der Vorgänger des Elementes ist
     */
    getPrev() {
        return this._prev;
    }
    /**
     * Setzt den Vorgänger des Elementes auf _prev
     *
     * @param prev   der Vorgänger des Elements
     */
    setPrev(prev) {
        this._prev = prev;
    }
    /**
     * Gibt den Nachfolger des Elementes zurück.
     *
     * @return   das LinkedCollectionElement das der Nachfolger des Elementes ist
     */
    getNext() {
        return this._next;
    }
    /**
     * Setzt den Nachfolger des Elementes auf _next
     *
     * @param next   der Nachfolger des Elements
     */
    setNext(next) {
        this._next = next;
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.adt.collection.LinkedCollectionElement'].includes(name);
    }
}
exports.LinkedCollectionElement = LinkedCollectionElement;
function cast_de_nrw_schule_svws_core_adt_collection_LinkedCollectionElement(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_adt_collection_LinkedCollectionElement = cast_de_nrw_schule_svws_core_adt_collection_LinkedCollectionElement;
//# sourceMappingURL=LinkedCollectionElement.js.map