src/main/java/org/intellimate/izou/sdk/frameworks/music/player/template/CommandHandler.java
public void handleCommandResources(EventModel eventModel) {
        List<ResourceModel<String>> resourceModels = eventModel.getListResourceContainer()
                .provideResource(CommandResource.ResourceID)
                .stream()
                .filter(resourceModel -> resourceModel.getResource() instanceof String)
                .map(resourceModel -> {
                    try {
                        //noinspection unchecked
                        return (ResourceModel<String>) resourceModel;
                    } catch (ClassCastException e) {
                        return null;
                    }
                })
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
        for (ResourceModel<String> resourceModel : resourceModels) {
            if (!CommandResource.verifyCommand(resourceModel.getResource()))
                continue;
            if (!CommandResource.verifyCapabilities(resourceModel.getResource(), capabilities)) {
                musicHelper.playerError(PlayerError.ERROR_NOT_ABLE + "command: " + resourceModel.getResource(),
                        resourceModel.getProvider());
                continue;
            }
            switch (resourceModel.getResource()) {
                case CommandResource.PLAY: if (!musicProvider.isPlaying())
                    playPause.accept(resourceModel.getResource());
                    break;
                case CommandResource.PAUSE: if (musicProvider.isPlaying())
                    playPause.accept(resourceModel.getResource());
                    break;
                case CommandResource.SELECT_TRACK: handleSelectTrack(eventModel, resourceModel);
                    break;
                case CommandResource.NEXT: nextPrevious.accept(resourceModel.getResource());
                    break;
                case CommandResource.PREVIOUS: nextPrevious.accept(resourceModel.getResource());
                    break;
                case CommandResource.JUMP: handleJump(eventModel, resourceModel);
                    break;
                case CommandResource.CHANGE_PLAYBACK: changePlayback.accept(resourceModel.getResource());
                    break;
                case CommandResource.CHANGE_VOLUME: handleVolume(eventModel, resourceModel);
                    break;
                case CommandResource.STOP: stopCallback.run();
                    break;
            }
        }
    }
public void handleCommandResources(EventModel eventModel) {
        List<ResourceModel<String>> resourceModels = eventModel.getListResourceContainer()
                .provideResource(CommandResource.ResourceID)
                .stream()
                .filter(resourceModel -> resourceModel.getResource() instanceof String)
                .map(resourceModel -> {
                    try {
                        //noinspection unchecked
                        return (ResourceModel<String>) resourceModel;
                    } catch (ClassCastException e) {
                        return null;
                    }
                })
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
        for (ResourceModel<String> resourceModel : resourceModels) {
            if (!CommandResource.verifyCommand(resourceModel.getResource()))
                continue;
            if (!CommandResource.verifyCapabilities(resourceModel.getResource(), capabilities)) {
                musicHelper.playerError(PlayerError.ERROR_NOT_ABLE + "command: " + resourceModel.getResource(),
                        resourceModel.getProvider());
                continue;
            }
            switch (resourceModel.getResource()) {
                case CommandResource.PLAY: if (!musicProvider.isPlaying())
                    playPause.accept(resourceModel.getResource());
                    break;
                case CommandResource.PAUSE: if (musicProvider.isPlaying())
                    playPause.accept(resourceModel.getResource());
                    break;
                case CommandResource.SELECT_TRACK: handleSelectTrack(eventModel, resourceModel);
                    break;
                case CommandResource.NEXT: nextPrevious.accept(resourceModel.getResource());
                    break;
                case CommandResource.PREVIOUS: nextPrevious.accept(resourceModel.getResource());
                    break;
                case CommandResource.JUMP: handleJump(eventModel, resourceModel);
                    break;
                case CommandResource.CHANGE_PLAYBACK: changePlayback.accept(resourceModel.getResource());
                    break;
                case CommandResource.CHANGE_VOLUME: handleVolume(eventModel, resourceModel);
                    break;
                case CommandResource.STOP: stopCallback.run();
                    break;
            }
        }
    }
public void handleCommandResources ( EventModel eventModel ) { List < ResourceModel < String >> resourceModels = eventModel . getListResourceContainer ( ) . provideResource ( CommandResource . ResourceID ) . stream ( ) . filter ( resourceModel -> resourceModel . getResource ( ) instanceof String ) . map ( resourceModel -> { try { //noinspection unchecked return ( ResourceModel < String > ) resourceModel ; } catch ( ClassCastException e ) { return null ; } } ) . filter ( Objects :: nonNull ) . collect ( Collectors . toList ( ) ) ; for ( ResourceModel < String > resourceModel : resourceModels ) { if ( ! CommandResource . verifyCommand ( resourceModel . getResource ( ) ) ) continue ; if ( ! CommandResource . verifyCapabilities ( resourceModel . getResource ( ) , capabilities ) ) { musicHelper . playerError ( PlayerError . ERROR_NOT_ABLE + "command: " + resourceModel . getResource ( ) , resourceModel . getProvider ( ) ) ; continue ; } switch ( resourceModel . getResource ( ) ) { case CommandResource . PLAY : if ( ! musicProvider . isPlaying ( ) ) playPause . accept ( resourceModel . getResource ( ) ) ; break ; case CommandResource . PAUSE : if ( musicProvider . isPlaying ( ) ) playPause . accept ( resourceModel . getResource ( ) ) ; break ; case CommandResource . SELECT_TRACK : handleSelectTrack ( eventModel , resourceModel ) ; break ; case CommandResource . NEXT : nextPrevious . accept ( resourceModel . getResource ( ) ) ; break ; case CommandResource . PREVIOUS : nextPrevious . accept ( resourceModel . getResource ( ) ) ; break ; case CommandResource . JUMP : handleJump ( eventModel , resourceModel ) ; break ; case CommandResource . CHANGE_PLAYBACK : changePlayback . accept ( resourceModel . getResource ( ) ) ; break ; case CommandResource . CHANGE_VOLUME : handleVolume ( eventModel , resourceModel ) ; break ; case CommandResource . STOP : stopCallback . run ( ) ; break ; } } }
this method gets called when a new Command was found. It automatically fires the update Event or an error
@param eventModel the event with the Commands
this method gets called when a new Command was found . It automatically fires the update Event or an error