Interface Bindable
-
- All Known Subinterfaces:
BindableId
- All Known Implementing Classes:
BindableDiscriminator
,BindableEmbedded
,BindableEncryptedProperty
,BindableIdEmpty
,BindableIdScalar
,BindableList
,BindableOrderColumn
,BindableProperty
,BindablePropertyVersion
,BindableUnidirectional
public interface Bindable
Item held by Meta objects used to generate and bind bean insert update and delete statements.An implementation is expected to be immutable and thread safe.
The design is to take a bean structure with embedded and associated objects etc and flatten that into lists of Bindable objects. These are put into InsertMeta UpdateMeta and DeleteMeta objects to support the generation of DML and binding of statements in a fast and painless manor.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addToUpdate(PersistRequestBean<?> request, List<Bindable> list)
For Updates including only changed properties add the Bindable to the list if it should be included in the 'update set'.void
dmlAppend(GenerateDmlRequest request)
append sql to the buffer with prefix and suffix options.void
dmlBind(BindableRequest request, EntityBean bean)
Bind given the request and bean.boolean
isDraftOnly()
Return true if the underlying property is 'draft only'.
-
-
-
Method Detail
-
addToUpdate
void addToUpdate(PersistRequestBean<?> request, List<Bindable> list)
For Updates including only changed properties add the Bindable to the list if it should be included in the 'update set'.
-
dmlAppend
void dmlAppend(GenerateDmlRequest request)
append sql to the buffer with prefix and suffix options.
-
dmlBind
void dmlBind(BindableRequest request, EntityBean bean) throws SQLException
Bind given the request and bean. The bean could be the oldValues bean when binding a update or delete where clause with ALL concurrency mode.- Throws:
SQLException
-
isDraftOnly
boolean isDraftOnly()
Return true if the underlying property is 'draft only'.
-
-