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

net.digitalid.utility.property.value.ReadOnlyValueProperty Maven / Gradle / Ivy

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

import net.digitalid.utility.annotations.generics.Specifiable;
import net.digitalid.utility.annotations.generics.Unspecifiable;
import net.digitalid.utility.annotations.method.Pure;
import net.digitalid.utility.annotations.ownership.NonCapturable;
import net.digitalid.utility.annotations.type.ThreadSafe;
import net.digitalid.utility.property.Property;
import net.digitalid.utility.validation.annotations.type.ReadOnly;
import net.digitalid.utility.validation.annotations.value.Valid;

/**
 * This read-only property stores a value.
 * 
 * @see WritableValueProperty
 * @see ReadOnlyVolatileValueProperty
 * @see ReadOnlyValuePropertyImplementation
 */
@ThreadSafe
@ReadOnly(WritableValueProperty.class)
public interface ReadOnlyValueProperty<@Specifiable VALUE, @Unspecifiable EXCEPTION1 extends Exception, @Unspecifiable EXCEPTION2 extends Exception, @Unspecifiable OBSERVER extends ValueObserver, @Unspecifiable PROPERTY extends ReadOnlyValueProperty> extends Property, Valid.Value {
    
    /* -------------------------------------------------- Getter -------------------------------------------------- */
    
    /**
     * Returns the value of this property.
     */
    @Pure
    public @NonCapturable @Valid VALUE get() throws EXCEPTION1, EXCEPTION2;
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy