Skip to content
Snippets Groups Projects
LeafNode.java 1.51 KiB
Newer Older
  • Learn to ignore specific revisions
  • import cz.muni.fi.disa.similarityoperators.cover.AbstractRepresentation.PrecomputedDistances;
    
    import messif.buckets.BucketStorageException;
    import messif.buckets.LocalBucket;
    
    import messif.objects.LocalAbstractObject;
    
    import messif.objects.util.AbstractObjectIterator;
    
    
    import java.io.Serializable;
    
    import java.util.Collections;
    import java.util.HashSet;
    
    import java.util.List;
    
    
    public class LeafNode extends Node implements Serializable {
    
        /**
         * Serialization ID
         */
        private static final long serialVersionUID = 1L;
    
        private LocalBucket bucket;
    
        LeafNode(PrecomputedDistances distances, LocalBucket bucket, InsertType insertType, ObjectToNodeDistance objectToNodeDistance) throws BucketStorageException {
            super(distances, insertType, objectToNodeDistance);
    
    
            this.bucket = bucket;
    
            this.bucket.addObjects(distances.getObjects());
    
        public void addObject(LocalAbstractObject object) throws BucketStorageException {
            bucket.addObject(object);
    
        public Set<LocalAbstractObject> getObjects() {
    
            Set<LocalAbstractObject> objects = new HashSet<>(bucket.getObjectCount());
    
    
            for (AbstractObjectIterator<LocalAbstractObject> it = bucket.getAllObjects(); it.hasNext(); )
                objects.add(it.next());
    
            return objects;
        }
    
        public int getHeight() {
            return 0;
        }
    
    
        public List<Node> getNodesOnLevel(int level) {
            return Collections.singletonList(this);