org.aksw.commons.accessors.CollectionAccessorSingleton Maven / Gradle / Ivy
package org.aksw.commons.accessors;
import java.util.Collection;
import java.util.Collections;
import com.google.common.collect.Range;
/**
* An accessor that refers to an immutable collection.
*
* @author raven May 2, 2018
*
* @param
*/
public class CollectionAccessorSingleton
implements CollectionAccessor
{
protected Collection values;
protected transient Collection unmodifiableValuesView;
protected transient Range multiplicity;
public CollectionAccessorSingleton(T value) {
this(Collections.singleton(value));
}
public CollectionAccessorSingleton(Collection values) {
super();
this.values = values;
this.unmodifiableValuesView = Collections.unmodifiableCollection(values);
this.multiplicity = Range.singleton((long)values.size());
}
@Override
public Collection get() {
return unmodifiableValuesView;
}
@Override
public Range getMultiplicity() {
return multiplicity;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy