Dataflow is a Kotlin/JVM library that combines reactive programing, functional programming and the observer pattern to simplify the presentation of data in your program. Let the programmers focus on the logic of the application while we do the hard work.

All Types

com.femastudios.dataflow.impl.AsyncBaseDependentField

A BaseDependentField that marks a dependency as processed as soon as a computation starts. This is helpful when the computation is asynchronous

com.femastudios.dataflow.impl.BaseConstantField

A basic implementation of a Field that holds a constant value.

com.femastudios.dataflow.impl.BaseDependentField

A basic implementation for fields that depend on other fields.

com.femastudios.dataflow.impl.BaseField

Basic implementation of Field, which allows to children to modify the value (in order to create a MutableField).

com.femastudios.dataflow.impl.then.BaseFieldThen

The basic implementation of Field.then.

com.femastudios.dataflow.impl.transform.BaseFieldTransformer

The basic implementation of Field.transform.

com.femastudios.dataflow.impl.BaseFieldWrapper

A basic implementation that wraps another field.

com.femastudios.dataflow.listen.BaseLifecycleOwner

A basic implementation of LifecycleOwner. It is usually sufficient to use the lifecycle function instead.

com.femastudios.dataflow.javaSupport.BiConsumer

The equivalent to java.util.function.BiConsumer. Useful on Android, since it supports Java 8 bytecode, but doesn't have the full Java 8 SDK.

(extensions in package com.femastudios.dataflow.extensions)
java.math.BigDecimal
(extensions in package com.femastudios.dataflow.extensions)
java.math.BigInteger
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Boolean
com.femastudios.dataflow.impl.BulkProcessedBaseDependentField

A BaseDependentField on which the last processed time of each dependency is the same, and is set when calling basicProcess

(extensions in package com.femastudios.dataflow.extensions)
kotlin.Byte
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Char
(extensions in package com.femastudios.dataflow.extensions)
kotlin.text.CharCategory
(extensions in package com.femastudios.dataflow.extensions)
kotlin.ranges.CharProgression
(extensions in package com.femastudios.dataflow.extensions)
kotlin.ranges.ClosedFloatingPointRange
(extensions in package com.femastudios.dataflow.extensions)
kotlin.ranges.ClosedRange
(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.Collection
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Comparable
com.femastudios.dataflow.impl.ConstantField

This class is a base implementation of a constant Field.

com.femastudios.dataflow.javaSupport.Consumer

The equivalent to java.util.function.Consumer. Useful on Android, since it supports Java 8 bytecode, but doesn't have the full Java 8 SDK.

com.femastudios.dataflow.util.DataflowCollectionUtils

A utility class for dataflow collections

com.femastudios.dataflow.DataflowThreadUtils

Singleton helper class for threads handling. This class is not directly used inside Dataflow, but it's useful on it's dependencies, like dataflow-async and dataflow-android

(extensions in package com.femastudios.dataflow.extensions)
kotlin.Double
com.femastudios.dataflow.Field

A Field is an object that holds a value (of type T), and allows to register (and cancel) callbacks for data changes.

com.femastudios.dataflow.listen.FieldListener

The callback called when a Field changes.

com.femastudios.dataflow.impl.then.FieldThen

The basic implementation of Field.then.

com.femastudios.dataflow.FieldWrapper

This interface extends MutableField, but adds the possibility to mirror another Field.

(extensions in package com.femastudios.dataflow.extensions)
kotlin.Float
(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.Grouping
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Int
(extensions in package com.femastudios.dataflow.extensions)
kotlin.ranges.IntProgression
(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.Iterable
com.femastudios.dataflow.iterable.IterableData

Class used internally to capture a collection state.

com.femastudios.dataflow.iterable.IterableSnapshot

This class contains the snapshot of an iterable.

com.femastudios.dataflow.listen.LifecycleOwner

An object that implements LifecycleOwner can easily listen for Field changes, by calling listen.

(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.List
com.femastudios.dataflow.listen.ListenerHolder

An object that is responsible to manage the listening of a Field.

(extensions in package com.femastudios.dataflow.listen)
com.femastudios.listeners.ListenersManager
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Long
(extensions in package com.femastudios.dataflow.extensions)
kotlin.ranges.LongProgression
(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.Map
com.femastudios.dataflow.listen.MapLifecycleOwner

An implementation of LifecycleOwner that uses a Map to hold the ListenerHolder

(extensions in package com.femastudios.dataflow.extensions)
kotlin.text.MatchGroupCollection
(extensions in package com.femastudios.dataflow.extensions)
kotlin.text.MatchNamedGroupCollection
com.femastudios.dataflow.MutableField

This interface extends Field, but allows to change the value.

(extensions in package com.femastudios.dataflow.extensions)
kotlin.text.Regex
(extensions in package com.femastudios.dataflow.extensions)
kotlin.sequences.Sequence
(extensions in package com.femastudios.dataflow.extensions)
kotlin.collections.Set
(extensions in package com.femastudios.dataflow.extensions)
kotlin.Short
com.femastudios.dataflow.util.SimpleList

A simple interface that extends Iterable that can be used when the called is only interested in basic methods. This is for example usable on com.femastudios.dataflow.impl.BaseDependentField.dependencies.

(extensions in package com.femastudios.dataflow.extensions)
kotlin.String