ObservablePlaylistHierarchy

interface ObservablePlaylistHierarchy : ReactivePlaylistHierarchy<ObservableAudioItem, ObservablePlaylist>

JavaFX-compatible playlist hierarchy interface exposing playlists as an observable collection.

Extends ReactivePlaylistHierarchy with concrete JavaFX-observable type parameters and adds a JavaFX property for direct binding to UI components. All playlist changes are reflected in playlistsProperty automatically on the JavaFX Application Thread.

Properties

Link copied to clipboard
abstract val changes: SharedFlow<CrudEvent<Int, ObservablePlaylist>>
Link copied to clipboard
abstract val isClosed: Boolean
Link copied to clipboard
abstract val isEmpty: Boolean
Link copied to clipboard
abstract val playlistsProperty: ReadOnlySetProperty<ObservablePlaylist>

Observable set of all playlists in the hierarchy, suitable for direct JavaFX binding.

Link copied to clipboard
abstract val subscriberCount: Int

Functions

Link copied to clipboard
abstract fun activateEvents(vararg types: CrudEvent.Type)
Link copied to clipboard
abstract fun add(entity: ObservablePlaylist): Boolean
Link copied to clipboard
abstract fun addAudioItemsToPlaylist(audioItems: Collection<ObservableAudioItem>, playlistName: String): Boolean
Link copied to clipboard
open fun addAudioItemToPlaylist(audioItem: ObservableAudioItem, playlistName: String): Boolean
Link copied to clipboard
abstract fun addOnCompleteEventAction(action: Runnable)
Link copied to clipboard
Link copied to clipboard
abstract fun addOnNextEventAction(vararg eventTypes: EventType, action: Consumer<CrudEvent<Int, ObservableAudioItem>>)
Link copied to clipboard
abstract fun addOnSubscribeEventAction(action: Consumer<LirpEventSubscription<ObservableAudioItem, CrudEvent.Type, CrudEvent<Int, ObservableAudioItem>>>)
Link copied to clipboard
abstract fun addPlaylistsToDirectory(playlistsToAdd: Set<ObservablePlaylist>, directoryName: String): Boolean
@JvmName(name = "addPlaylistNamesToDirectory")
abstract fun addPlaylistsToDirectory(playlistNamesToAdd: Set<String>, directoryName: String): Boolean
Link copied to clipboard
open fun addPlaylistToDirectory(playlistToAdd: ObservablePlaylist, directoryName: String): Boolean
open fun addPlaylistToDirectory(playlistNameToAdd: String, directoryName: String): Boolean
Link copied to clipboard
abstract fun clear()
Link copied to clipboard
Link copied to clipboard
abstract override fun close()
Link copied to clipboard
abstract fun contains(id: Int): Boolean
abstract fun contains(predicate: Predicate<in ObservablePlaylist>): Boolean
Link copied to clipboard
@JvmName(name = "createPlaylistWithIds")
abstract fun createPlaylist(name: String, audioItemIds: List<Int>): ObservablePlaylist
Link copied to clipboard
abstract fun disableEvents(vararg types: CrudEvent.Type)
Link copied to clipboard
abstract fun emitAsync(event: CrudEvent<Int, ObservablePlaylist>)
Link copied to clipboard
abstract fun findById(id: Int): Optional<out ObservablePlaylist>
Link copied to clipboard
abstract fun findByIndex(indexName: String, value: Any): Set<ObservablePlaylist>
Link copied to clipboard
abstract fun findByName(name: String): Optional<out ObservablePlaylist>
Link copied to clipboard
abstract fun findByUniqueId(uniqueId: String): Optional<out ObservablePlaylist>
Link copied to clipboard
Link copied to clipboard
abstract fun findFirstByIndex(indexName: String, value: Any): Optional<out ObservablePlaylist>
Link copied to clipboard
abstract fun findParentPlaylist(playlist: ReactiveAudioPlaylist<ObservableAudioItem, ObservablePlaylist>): Optional<out ObservablePlaylist>
Link copied to clipboard
abstract operator fun iterator(): Iterator<ObservablePlaylist>
Link copied to clipboard
Link copied to clipboard
open operator fun minus(entity: ObservablePlaylist): Boolean
open operator fun minus(entities: Collection<ObservablePlaylist>): Boolean
Link copied to clipboard
abstract fun movePlaylist(playlistNameToMove: String, destinationPlaylistName: String)
Link copied to clipboard
Link copied to clipboard
abstract fun numberOfPlaylists(): Int
Link copied to clipboard
abstract fun onComplete()
Link copied to clipboard
abstract fun onError(p0: Throwable?)
Link copied to clipboard
abstract fun onNext(p0: CrudEvent<Int, ObservableAudioItem>?)
Link copied to clipboard
abstract fun onSubscribe(p0: Flow.Subscription?)
Link copied to clipboard
abstract fun remove(entity: ObservablePlaylist): Boolean
Link copied to clipboard
Link copied to clipboard
open fun removeAudioItemFromPlaylist(audioItem: ObservableAudioItem, playlistName: String): Boolean
open fun removeAudioItemFromPlaylist(audioItemId: Int, playlistName: String): Boolean
Link copied to clipboard
abstract fun removeAudioItemsFromPlaylist(audioItems: Collection<ObservableAudioItem>, playlistName: String): Boolean
@JvmName(name = "removeAudioItemIdsFromPlaylist")
abstract fun removeAudioItemsFromPlaylist(audioItemIds: Collection<Int>, playlistName: String): Boolean
Link copied to clipboard
open fun removePlaylistFromDirectory(playlistToRemove: ObservablePlaylist, directoryName: String): Boolean
open fun removePlaylistFromDirectory(playlistNameToRemove: String, directoryName: String): Boolean
Link copied to clipboard
abstract fun removePlaylistsFromDirectory(playlistsToRemove: Set<ObservablePlaylist>, directoryName: String): Boolean
@JvmName(name = "removePlaylistNamesFromDirectory")
abstract fun removePlaylistsFromDirectory(playlistsNamesToRemove: Set<String>, directoryName: String): Boolean
Link copied to clipboard
abstract fun search(size: Int, predicate: Predicate<in ObservablePlaylist>): Set<ObservablePlaylist>
Link copied to clipboard
Link copied to clipboard
abstract fun size(): Int
Link copied to clipboard
abstract fun subscribe(p0: Flow.Subscriber<in CrudEvent<Int, ObservablePlaylist>?>?)
open fun subscribe(action: Consumer<in CrudEvent<Int, ObservablePlaylist>>): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservablePlaylist>>
abstract fun subscribe(action: suspend (CrudEvent<Int, ObservablePlaylist>) -> Unit): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservablePlaylist>>
abstract fun subscribe(vararg eventTypes: CrudEvent.Type, action: suspend (CrudEvent<Int, ObservablePlaylist>) -> Unit): LirpEventSubscription<in LirpEntity, CrudEvent.Type, CrudEvent<Int, ObservablePlaylist>>