Interface WritableProperty<V>

Type Parameters:
V - type of the value.
All Superinterfaces:
AttributeReadOnly, io.github.mmm.value.CriteriaObject<V>, io.github.mmm.event.EventSource<ObservableEvent<V>,ObservableEventListener<? super V>>, io.github.mmm.marshall.MarshallableObject, io.github.mmm.marshall.Marshaller<Object>, io.github.mmm.marshall.Marshalling<Object>, io.github.mmm.marshall.MarshallingObject, ObservableValue<V>, io.github.mmm.value.PropertyPath<V>, io.github.mmm.value.ReadablePath, ReadableProperty<V>, io.github.mmm.value.ReadableTypedValue<V>, io.github.mmm.value.ReadableValue<V>, Supplier<V>, io.github.mmm.value.TypedPropertyPath<V>, io.github.mmm.marshall.UnmarshallableObject, io.github.mmm.marshall.Unmarshaller<Object>, Validatable, WritableObservableValue<V>, io.github.mmm.value.WritableValue<V>
All Known Subinterfaces:
WritableBigDecimalProperty, WritableBigIntegerProperty, WritableBooleanProperty, WritableByteProperty, io.github.mmm.property.container.collection.WritableCollectionProperty<V,E>, io.github.mmm.property.comparable.WritableComparableProperty<V>, WritableContainerProperty<V,E>, WritableDoubleProperty, WritableDurationProperty, WritableFloatProperty, WritableInstantProperty, WritableIntegerProperty, WritableListProperty<E>, WritableLocalDateProperty, WritableLocalDateTimeProperty, WritableLocalTimeProperty, WritableLongProperty, WritableMapProperty<K,V>, WritableNumberProperty<N>, WritableObjectProperty<V>, WritableOffsetDateTimeProperty, WritableOffsetTimeProperty, WritablePasswordProperty, WritablePatternProperty, WritableRangeProperty<V>, WritableSetProperty<E>, WritableShortProperty, WritableSimpleProperty<V>, WritableStringProperty, WritableZonedDateTimeProperty
All Known Implementing Classes:
BigDecimalProperty, BigIntegerProperty, BooleanProperty, ByteProperty, io.github.mmm.property.container.collection.CollectionProperty, ContainerProperty, DoubleProperty, DurationInSecondsProperty, DurationProperty, FloatProperty, InstantProperty, IntegerProperty, ListProperty, LocalDateProperty, LocalDateTimeProperty, LocalTimeProperty, LongProperty, MapProperty, NumberProperty, ObjectProperty, OffsetDateTimeProperty, OffsetTimeProperty, PasswordProperty, PatternProperty, Property, RangeProperty, SetProperty, ShortProperty, SimpleProperty, StringListProperty, StringProperty, TemporalAmountProperty, TemporalProperty, ZonedDateTimeProperty

public interface WritableProperty<V> extends WritableObservableValue<V>, ReadableProperty<V>, io.github.mmm.marshall.MarshallingObject
A property with write access (e.g. WritableValue.set(Object)). However, it can still be read-only preventing modifications.
Since:
1.0.0
  • Field Details

    • NO_PROPERTIES

      static final WritableProperty<?>[] NO_PROPERTIES
      Empty array instance.
  • Method Details

    • getReadOnly

      WritableProperty<V> getReadOnly()
      Returns:
      the read only view on this property.
      See Also:
    • copy

      WritableProperty<V> copy(String newName, PropertyMetadata<V> newMetadata)
      Parameters:
      newName - the new name. May be null to keep the current name.
      newMetadata - the new metadata. May be null to keep the current metadata.
      Returns:
      a new instance of this property with empty value no bindings and the given parameters applied.
    • getReadOnly

      static <P extends WritableProperty<?>> P getReadOnly(P property)
      Type Parameters:
      P - type of the property.
      Parameters:
      property - the property to get as read-only view.
      Returns:
      the read-only view of the given property.
    • copy

      static <P extends WritableProperty<?>> P copy(P property)
      Type Parameters:
      P - type of the property.
      Parameters:
      property - the property to copy.
      Returns:
      a copy of the given property with empty value and the given parameters applied.
    • copy

      static <P extends WritableProperty<?>> P copy(P property, String newName)
      Type Parameters:
      P - type of the property.
      Parameters:
      property - the property to copy.
      newName - the new name. May be null to keep the current name.
      Returns:
      a copy of the given property with empty value and the given parameters applied.
    • copy

      static <V, P extends WritableProperty<V>> P copy(P property, String newName, PropertyMetadata<V> newMetadata)
      Type Parameters:
      V - type of the properties value.
      P - type of the property.
      Parameters:
      property - the property to copy.
      newName - the new name. May be null to keep the current name.
      newMetadata - the new metadata. May be null to keep the current metadata.
      Returns:
      a copy of the given property with empty value and the given parameters applied.