override fun addListener()

in dnq-transient-store/src/main/kotlin/jetbrains/exodus/entitystore/TransientChangesMultiplexer.kt [83:95]


    override fun addListener(e: Entity, listener: IEntityListener<*>) {
        if ((e as TransientEntity).isNew) {
            throw IllegalStateException("Entity is not saved into database - you can't listen to it.")
        }
        val id = FullEntityId(e.store, e.getId())
        rwl.write {
            if (isOpen) {
                instanceToListeners
                    .getOrPut(id) { ConcurrentLinkedQueue() }
                    .add(listener)
            }
        }
    }