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

io.permazen.util.EmptyNavigableSet Maven / Gradle / Ivy


/*
 * Copyright (C) 2015 Archie L. Cobbs. All rights reserved.
 */

package io.permazen.util;

import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;

/**
 * An empty {@link java.util.NavigableSet} implementation.
 */
class EmptyNavigableSet extends AbstractNavigableSet {

    private final Comparator comparator;

    /**
     * Primary constructor.
     *
     * @param comparator comparator, or null for natural ordering
     */
    EmptyNavigableSet(Comparator comparator) {
        this(comparator, new Bounds<>());
    }

    /**
     * Internal constructor.
     *
     * @param comparator comparator, or null for natural ordering
     */
    protected EmptyNavigableSet(Comparator comparator, Bounds bounds) {
        super(bounds);
        this.comparator = comparator;
    }

    @Override
    public Comparator comparator() {
        return this.comparator;
    }

    @Override
    public boolean contains(Object obj) {
        return false;
    }

    @Override
    public int size() {
        return 0;
    }

    @Override
    public Iterator iterator() {
        return Collections.emptyIterator();
    }

    @Override
    protected EmptyNavigableSet createSubSet(boolean reverse, Bounds bounds) {
        return new EmptyNavigableSet<>(this.getComparator(reverse), bounds);
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy