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

net.digitalid.utility.collections.map.FreezableHashMapBuilder Maven / Gradle / Ivy

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

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:20.990+0200")
public class FreezableHashMapBuilder {
    
    public static class InnerFreezableHashMapBuilder {
        
        private InnerFreezableHashMapBuilder() {
        }
        
        /* -------------------------------------------------- Initial Capacity -------------------------------------------------- */
        
        private @NonNegative int initialCapacity = 16;
        
        @Chainable
        public @Nonnull InnerFreezableHashMapBuilder withInitialCapacity(@NonNegative int initialCapacity) {
            this.initialCapacity = initialCapacity;
            return this;
        }
        
        /* -------------------------------------------------- Load Factor -------------------------------------------------- */
        
        private @Positive float loadFactor = 0.75f;
        
        @Chainable
        public @Nonnull InnerFreezableHashMapBuilder withLoadFactor(@Positive float loadFactor) {
            this.loadFactor = loadFactor;
            return this;
        }
        
        /* -------------------------------------------------- Build -------------------------------------------------- */
        
        public FreezableHashMap build() {
            return new FreezableHashMapSubclass(initialCapacity, loadFactor);
        }
        
    }
    
    public static  InnerFreezableHashMapBuilder withInitialCapacity(@NonNegative int initialCapacity) {
        return new InnerFreezableHashMapBuilder().withInitialCapacity(initialCapacity);
    }
    
    public static  InnerFreezableHashMapBuilder withLoadFactor(@Positive float loadFactor) {
        return new InnerFreezableHashMapBuilder().withLoadFactor(loadFactor);
    }
    
    public static  FreezableHashMap build() {
        return new InnerFreezableHashMapBuilder().build();
    }
    
    public static  FreezableHashMap buildWithInitialCapacity(@NonNegative int initialCapacity) {
        return new InnerFreezableHashMapBuilder().withInitialCapacity(initialCapacity).build();
    }
    
    public static  FreezableHashMap buildWithLoadFactor(@Positive float loadFactor) {
        return new InnerFreezableHashMapBuilder().withLoadFactor(loadFactor).build();
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy