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

net.digitalid.utility.property.set.WritableVolatileSetPropertyBuilder Maven / Gradle / Ivy

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

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

import net.digitalid.utility.collections.set.FreezableSet;
import net.digitalid.utility.collections.set.ReadOnlySet;
import net.digitalid.utility.functional.interfaces.Predicate;
import net.digitalid.utility.validation.annotations.method.Chainable;

@SuppressWarnings("null")
@Generated(value = "net.digitalid.utility.processor.generator.JavaFileGenerator", date = "2017-03-26T11:54:50.041+0200")
public class WritableVolatileSetPropertyBuilder, FREEZABLE_SET extends FreezableSet> {
    
    public static class InnerWritableVolatileSetPropertyBuilder, FREEZABLE_SET extends FreezableSet> {
        
        private InnerWritableVolatileSetPropertyBuilder() {
        }
        
        /* -------------------------------------------------- Value Validator -------------------------------------------------- */
        
        private Predicate valueValidator = object -> true;
        
        @Chainable
        public @Nonnull InnerWritableVolatileSetPropertyBuilder withValueValidator(Predicate valueValidator) {
            this.valueValidator = valueValidator;
            return this;
        }
        
        /* -------------------------------------------------- Set -------------------------------------------------- */
        
        private FREEZABLE_SET set = null;
        
        @Chainable
        public @Nonnull InnerWritableVolatileSetPropertyBuilder withSet(FREEZABLE_SET set) {
            this.set = set;
            return this;
        }
        
        /* -------------------------------------------------- Build -------------------------------------------------- */
        
        public WritableVolatileSetProperty build() throws RuntimeException {
            return new WritableVolatileSetPropertySubclass(valueValidator, set);
        }
        
    }
    
    public static , FREEZABLE_SET extends FreezableSet> InnerWritableVolatileSetPropertyBuilder withSet(FREEZABLE_SET set) {
        return new InnerWritableVolatileSetPropertyBuilder().withSet(set);
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy