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

angry1980.audio.dao.FingerprintDAOInMemoryImpl Maven / Gradle / Ivy

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

import angry1980.audio.model.Fingerprint;

import java.util.*;
import java.util.stream.Collectors;

public class FingerprintDAOInMemoryImpl implements FingerprintDAO{

    private Map fingerprints;

    public FingerprintDAOInMemoryImpl(){
        this.fingerprints = new HashMap<>();
    }

    @Override
    public Collection getAll() {
        return fingerprints.values();
    }

    @Override
    public F tryToFindByTrackId(long trackId) {
        return fingerprints.get(trackId);
    }

    @Override
    public Collection findByTrackIds(long[] trackIds) {
        return Arrays.stream(trackIds)
                .mapToObj(this::findByTrackId)
                .filter(o -> o.isPresent())
                .map(o -> o.get())
                .collect(Collectors.toList());
    }

    @Override
    public F tryToCreate(F fingerprint) {
        fingerprints.put(fingerprint.getTrackId(), fingerprint);
        return fingerprint;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy