Package io.ebean
Interface BeanState
-
public interface BeanState
Provides access to the internal state of an entity bean.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<String>
getChangedProps()
Return the set of changed properties.Map<String,ValuePair>
getDirtyValues()
Return a map of the updated properties and their new and old values.Set<String>
getLoadedProps()
For partially populated beans returns the properties that are loaded on the bean.Map<String,Exception>
getLoadErrors()
Returns a map with load erros.boolean
isDirty()
Return true if the bean has been changed but not yet saved.boolean
isDisableLazyLoad()
Return true if the bean has lazy loading disabled.boolean
isNew()
Return true if the bean is new (and not yet saved).boolean
isNewOrDirty()
Return true if the bean is new or dirty (and probably needs to be saved).boolean
isReadOnly()
Return true if the bean is readOnly.boolean
isReference()
Return true if this is a lazy loading reference bean.void
resetForInsert()
Reset the bean putting it into NEW state such that a save() results in an insert.void
setDisableLazyLoad(boolean disableLazyLoading)
This can be called with true to disable lazy loading on the bean.void
setLoaded()
Advanced - Used to programmatically build a partially or fully loaded entity bean.void
setPropertyLoaded(String propertyName, boolean loaded)
Set the loaded state of the property given it's name.void
setReadOnly(boolean readOnly)
Set the readOnly status for the bean.
-
-
-
Method Detail
-
isReference
boolean isReference()
Return true if this is a lazy loading reference bean.If so the this bean only holds the Id property and will invoke lazy loading if any other property is get or set.
-
isNew
boolean isNew()
Return true if the bean is new (and not yet saved).
-
isNewOrDirty
boolean isNewOrDirty()
Return true if the bean is new or dirty (and probably needs to be saved).
-
isDirty
boolean isDirty()
Return true if the bean has been changed but not yet saved.
-
setDisableLazyLoad
void setDisableLazyLoad(boolean disableLazyLoading)
This can be called with true to disable lazy loading on the bean.
-
isDisableLazyLoad
boolean isDisableLazyLoad()
Return true if the bean has lazy loading disabled.
-
setPropertyLoaded
void setPropertyLoaded(String propertyName, boolean loaded)
Set the loaded state of the property given it's name.Typically this would be used to set the loaded state of a property to false to ensure that the specific property is excluded from a stateless update.
// populate a bean via say JSON User user = ...; // set loaded state on the email property to false so that // the email property is not included in a stateless update DB.getBeanState(user).setPropertyLoaded("email", false); user.update();
This will throw an IllegalArgumentException if the property is unknown.
-
getLoadedProps
Set<String> getLoadedProps()
For partially populated beans returns the properties that are loaded on the bean.Accessing another property will cause lazy loading to occur.
-
getChangedProps
Set<String> getChangedProps()
Return the set of changed properties.
-
getDirtyValues
Map<String,ValuePair> getDirtyValues()
Return a map of the updated properties and their new and old values.
-
isReadOnly
boolean isReadOnly()
Return true if the bean is readOnly.If a setter is called on a readOnly bean it will throw an exception.
-
setReadOnly
void setReadOnly(boolean readOnly)
Set the readOnly status for the bean.
-
setLoaded
void setLoaded()
Advanced - Used to programmatically build a partially or fully loaded entity bean. First create an entity bean viaDatabase.createEntityBean(Class)
, then populate its properties and then call this method specifying which properties where loaded or null for a fully loaded entity bean.
-
resetForInsert
void resetForInsert()
Reset the bean putting it into NEW state such that a save() results in an insert.
-
getLoadErrors
@Nullable Map<String,Exception> getLoadErrors()
Returns a map with load erros.
-
-