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

com.exsoinn.util.epf.SearchResult Maven / Gradle / Ivy

The newest version!
package com.exsoinn.util.epf;

import com.exsoinn.util.DnbBusinessObject;

import java.util.*;

/**
 * Created by QuijadaJ on 5/3/2017.
 */
public final class SearchResult implements Map, DnbBusinessObject {

    private final Map m;

    private SearchResult(Map pResult) {
        /*
         * Defensively copying passed in Map to enforce immutability.
         */
        m = new HashMap<>(pResult);
    }

    public Context firstResult() {
        if (null == m || m.isEmpty()) {
            return null;
        }
        return m.entrySet().iterator().next().getValue();
    }

    public static SearchResult emptySearchResult() {
        return new SearchResult(Collections.emptyMap());
    }

    public static SearchResult createSearchResult(Map pResult) {
        return new SearchResult(pResult);
    }

    @Override
    public int size() {
        return m.size();
    }

    @Override
    public boolean isEmpty() {
        return m.isEmpty();
    }

    @Override
    public boolean containsKey(Object pKey) {
        return m.containsKey(pKey);
    }

    @Override
    public boolean containsValue(Object pValue) {
        return m.containsValue(pValue);
    }

    @Override
    public Context get(Object pKey) {
        return m.get(pKey);
    }

    @Override
    public Context put(String pKey, Context pValue) {
        throw new UnsupportedOperationException();
    }

    @Override
    public Context remove(Object pKey) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void putAll(Map pMap) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void clear() {
        throw new UnsupportedOperationException();
    }

    @Override
    public Set keySet() {
        return new HashSet<>(m.keySet());
    }

    @Override
    public Collection values() {
        return new ArrayList<>(m.values());
    }

    @Override
    public Set> entrySet() {
        return new HashSet<>(m.entrySet());
    }

    @Override
    public String toString() {
        return m.toString();
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy