package com.netifera.platform.internal.model; import com.netifera.platform.api.model.IEntity; import com.netifera.platform.api.model.ISpaceContentChangeEvent; class SpaceContentChangeEvent implements ISpaceContentChangeEvent { private final boolean isUpdate; private final boolean isCreate; private final boolean isRemove; private final IEntity entity; public static SpaceContentChangeEvent createUpdateEvent(IEntity entity) { return new SpaceContentChangeEvent(entity, true, false, false); } public static SpaceContentChangeEvent createCreationEvent(IEntity entity) { return new SpaceContentChangeEvent(entity, false, true, false); } public static SpaceContentChangeEvent createRemovalEvent(IEntity entity) { return new SpaceContentChangeEvent(entity, false, false, true); } private SpaceContentChangeEvent(IEntity entity, boolean update, boolean create, boolean remove) { this.entity = entity; this.isUpdate = update; this.isCreate = create; this.isRemove = remove; } public IEntity getEntity() { return entity; } public boolean isCreationEvent() { return isCreate; } public boolean isUpdateEvent() { return isUpdate; } public boolean isRemovalEvent() { return isRemove; } }