Module io.github.mmm.property
Package io.github.mmm.property
Provides the API for generic and powerful properties.
Unfortunately Java has no build in properties and will never have. For decades people had to waste their time writing stupid Java beans with getters, setters and other boilerplate code. Writing generic code on top of this is extremely complex and error prone and also results in relatively poor performance, access modifier violations, and many other flaws. Hence, data-bindings in Java have been a nightmare and where never compiler safe.
JavaFx wanted to cure this pain a little by introducing
This API (and its implementation) comes with
Note: You can also implement custom datatypes as property just like
Property API
Unfortunately Java has no build in properties and will never have. For decades people had to waste their time writing stupid Java beans with getters, setters and other boilerplate code. Writing generic code on top of this is extremely complex and error prone and also results in relatively poor performance, access modifier violations, and many other flaws. Hence, data-bindings in Java have been a nightmare and where never compiler safe.
JavaFx wanted to cure this pain a little by introducing
javafx.beans.property.Property
a real property. This
already brings a lot of benefits especially for data-bindings, but writing Java beans manually based on such
properties is causing even more boiler-plate code. Further javafx.beans.property.Property
still lacks a lot
of build-in features such as support to determine the value type, validation, read-only views, JSON mapping, etc.This API (and its implementation) comes with
ReadableProperty
and
WritableProperty
as well as all the sub-interfaces and implementations to give you
full support for all your needs. Further, it the module io.github.mmm.bean
from mmm-bean
adds
io.github.mmm.bean.Bean
support on top of this properties and saves you from all the boilerplate code to
implement your beans. Stop wasting your time and use your time to actually implement real value.Note: You can also implement custom datatypes as property just like
StringListProperty
or
DurationInSecondsProperty
.-
Interface Summary Interface Description PropertyMetadata<V> Metadata of aProperty
.PropertyMetadataFactory Factory tocreate
instances ofPropertyMetadata
.ReadableProperty<V> This is the interface for a generic property.WritableProperty<V> Aproperty
with write access (e.g. -
Class Summary Class Description AbstractPropertyMetadata<V> Abstract base implementation ofPropertyMetadata
.Property<V> Implementation ofWritableProperty
.PropertyMetadataFactoryDefault Default implementation ofPropertyMetadataFactory
.PropertyMetadataNone<V> Implementation ofPropertyMetadata
that is entirely empty.PropertyMetadataType<V> Implementation ofPropertyMetadata
as immutable type.