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

angry1980.audio.similarity.ComplexFindSimilarTracks Maven / Gradle / Ivy

There is a newer version: 0.0.10
Show newest version
package angry1980.audio.similarity;

import angry1980.audio.model.FingerprintType;
import angry1980.audio.model.TrackSimilarity;

import java.util.List;
import java.util.Objects;

public class ComplexFindSimilarTracks implements FindSimilarTracks{

    private FindSimilarTracks _default;
    private List findSimilarTracks;

    public ComplexFindSimilarTracks(List findSimilarTracks) {
        this.findSimilarTracks = Objects.requireNonNull(findSimilarTracks);
        this._default = new FindSimilarTracksFakeImpl();
    }

    @Override
    public List apply(long track, FingerprintType type) {
        return findSimilarTracks.stream()
                .filter(handler -> handler.test(type))
                .findAny()
                .orElse(_default)
                .apply(track, type);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy