|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Lifecycle
Lifecycle interface for all Composites.
This Lifecycle interface is a built-in feature of the Qi4j runtime, similar to the Initializable interface. Any Mixin that implements this interface AND is part of an EntityComposite will have these two methods called upon creation/removal of the EntityComposite instance to/from the EntityStore. Meaning, the create method is called only when the identifiable EntityComposite is created the first time, and not when it is read from its persisted state and created into memory. Example;
public interface System
{
Property<User> admin();
}
public class SystemAdminMixin
implements System, Lifecyle, ...
{
@Structure private UnitOfWork uow;
@This private Identity meAsIdentity;
public void create()
{
String thisId = meAsIdentity.identity().get();
EntityBuilder builder = uow.newEntityBuilder( thisId + ":1", UserComposite.class );
User admin = builder.newInstance();
admin.set( admin );
}
public void remove()
{
uow.remove( admin.get() );
}
}
@Mixins( SystemAdminMixin.class )
public interface SystemEntity extends System, EntityComposite
{}
Method Summary | |
---|---|
void |
create()
Creation callback method. |
void |
remove()
Removal callback method. |
Method Detail |
---|
void create() throws LifecycleException
LifecycleException
- if the entity could not be createdvoid remove() throws LifecycleException
LifecycleException
- if the entity could not be removed
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |