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

net.digitalid.utility.collections.set.FreezableHashSetBuilder Maven / Gradle / Ivy

The newest version!
package net.digitalid.utility.collections.set;

import javax.annotation.Generated;
import javax.annotation.Nonnull;

import net.digitalid.utility.validation.annotations.math.NonNegative;
import net.digitalid.utility.validation.annotations.math.Positive;
import net.digitalid.utility.validation.annotations.method.Chainable;

@SuppressWarnings("null")
@Generated(value = "net.digitalid.utility.processor.generator.JavaFileGenerator", date = "2017-03-26T11:54:22.258+0200")
public class FreezableHashSetBuilder {
    
    public static class InnerFreezableHashSetBuilder {
        
        private InnerFreezableHashSetBuilder() {
        }
        
        /* -------------------------------------------------- Initial Capacity -------------------------------------------------- */
        
        private @NonNegative int initialCapacity = 16;
        
        @Chainable
        public @Nonnull InnerFreezableHashSetBuilder withInitialCapacity(@NonNegative int initialCapacity) {
            this.initialCapacity = initialCapacity;
            return this;
        }
        
        /* -------------------------------------------------- Load Factor -------------------------------------------------- */
        
        private @Positive float loadFactor = 0.75f;
        
        @Chainable
        public @Nonnull InnerFreezableHashSetBuilder withLoadFactor(@Positive float loadFactor) {
            this.loadFactor = loadFactor;
            return this;
        }
        
        /* -------------------------------------------------- Build -------------------------------------------------- */
        
        public FreezableHashSet build() {
            return new FreezableHashSetSubclass(initialCapacity, loadFactor);
        }
        
    }
    
    public static  InnerFreezableHashSetBuilder withInitialCapacity(@NonNegative int initialCapacity) {
        return new InnerFreezableHashSetBuilder().withInitialCapacity(initialCapacity);
    }
    
    public static  InnerFreezableHashSetBuilder withLoadFactor(@Positive float loadFactor) {
        return new InnerFreezableHashSetBuilder().withLoadFactor(loadFactor);
    }
    
    public static  FreezableHashSet build() {
        return new InnerFreezableHashSetBuilder().build();
    }
    
    public static  FreezableHashSet buildWithInitialCapacity(@NonNegative int initialCapacity) {
        return new InnerFreezableHashSetBuilder().withInitialCapacity(initialCapacity).build();
    }
    
    public static  FreezableHashSet buildWithLoadFactor(@Positive float loadFactor) {
        return new InnerFreezableHashSetBuilder().withLoadFactor(loadFactor).build();
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy