
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 super E> comparator;
/**
* Primary constructor.
*
* @param comparator comparator, or null for natural ordering
*/
EmptyNavigableSet(Comparator super E> comparator) {
this(comparator, new Bounds<>());
}
/**
* Internal constructor.
*
* @param comparator comparator, or null for natural ordering
*/
protected EmptyNavigableSet(Comparator super E> comparator, Bounds bounds) {
super(bounds);
this.comparator = comparator;
}
@Override
public Comparator super E> 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