Package io.github.astrapi69.model
Class SimpleLambdaModel<T>
- java.lang.Object
-
- io.github.astrapi69.model.SimpleLambdaModel<T>
-
- All Implemented Interfaces:
Attachable
,IDetachable
,IModel<T>
,java.io.Serializable
public class SimpleLambdaModel<T> extends java.lang.Object implements IModel<T>
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleLambdaModel(SerializableSupplier<T> getter, SerializableConsumer<T> setter)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attach()
Attach an object.void
detach()
Detach an object.T
getObject()
Gets the model object.static <X,T>
IModel<T>of(IModel<X> target, SerializableFunction<X,T> getter)
Create aLambdaModel
for a given target.static <X,T>
IModel<T>of(IModel<X> target, SerializableFunction<X,T> getter, SerializableBiConsumer<X,T> setter)
Create aLambdaModel
for a given target.static <T> IModel<T>
of(SerializableSupplier<T> getter, SerializableConsumer<T> setter)
Create aLambdaModel
.void
setObject(T object)
Sets the model object.
-
-
-
Constructor Detail
-
SimpleLambdaModel
public SimpleLambdaModel(SerializableSupplier<T> getter, SerializableConsumer<T> setter)
-
-
Method Detail
-
of
public static <T> IModel<T> of(SerializableSupplier<T> getter, SerializableConsumer<T> setter)
Create aLambdaModel
. Usage:LambdaModel.of(person::getName, person::setName)
- Type Parameters:
T
- model object type- Parameters:
getter
- used to get valuesetter
- used to set value- Returns:
- model
-
of
public static <X,T> IModel<T> of(IModel<X> target, SerializableFunction<X,T> getter)
Create aLambdaModel
for a given target. Usage:LambdaModel.of(personModel, Person::getName)
- Type Parameters:
X
- target model object typeT
- model object type- Parameters:
target
- target for getter and settergetter
- used to get a value- Returns:
- model
-
of
public static <X,T> IModel<T> of(IModel<X> target, SerializableFunction<X,T> getter, SerializableBiConsumer<X,T> setter)
Create aLambdaModel
for a given target. Usage:LambdaModel.of(personModel, Person::getName, Person::setName)
- Type Parameters:
X
- target model object typeT
- model object type- Parameters:
target
- target for getter and settergetter
- used to get a valuesetter
- used to set a value- Returns:
- model
-
attach
public void attach()
Attach an object.- Specified by:
attach
in interfaceAttachable
-
detach
public void detach()
Detach an object.- Specified by:
detach
in interfaceIDetachable
-
getObject
public T getObject()
Gets the model object.
-
-