BLH bir iş nesnesinin iş mantığı katmanından geçerken kullanılacak handler sınıfıdır.
Bu teknoloji sayesinde üründeki BO ya da uyarlanmış bir BO’nun işlem öncesi/sonrası yapabileceklerimizi olanak sağlanır.
Aşağıdaki metodlar override edilerek amacımızı gerçekleyebiliriz. Bu metodların çalışma zamanları ve anlamları kısaca;
- beforeInsert save işlemi öncesi tetiklenir.
- afterInsert save işlemi sonrası tetiklenir.
- afterDelete silme işlemi sonrası tetiklenir.
- beforeDelete silme işlemi öncesi tetiklenir.
- beforeUpdate güncelleme işlemi öncesi tetiklenir.
- afterUpdate güncelleme işlemi sonrası tetiklenir.
- beforeRead database okuma işlemi öncesi tetiklenir.
- afterRead database okuma işlemi sonrası tetiklenir.
- callDeleteHandler silme işlemi anında tetikenir.
- callInsertHandler save işlemi anında tetiklenir.
- callReadHandler database okuma anında tetiklenir.
- callUpdateHandler Güncelleme anında tetiklenir.
Öncelikle projenizde "Business Logic Handler" tanımı yapmamız gerekir. Bunun için aşağıdaki adımları inceleyiniz.
1 -
- Proje altında bulunan Definition>bussineslogichandlers dosyası seçiniz.
- Tanımlama ekranı açılır.
- Mouse sağ click add diyerek tanımları ekranını açarız.
2 - Açılan "Business logic Handler Definition" ekranından gerekli tanımlamaları yaparız;
- Name : iş nesnesi handler adı
- Business Logic Handler Package : paket adı
- Business Logic Handler : Yeni bir handler sınıfı oluşturulabilir ya da mevcut kullanılabilir.
- Business Object : handler ile ilişkili iş nesnesi
- Description : Tanım
3 - Sonrasında;
Tanım yaparken oluşan class içerinde gerekli metotları çağırarak işlemlerimizi gerçekleştiririz.
package com.acme.customization;
import com.lbs.data.factory.BasicBusinessLogicHandler;
import com.lbs.data.factory.FactoryParams;
import com.lbs.data.factory.IBusinessLogicFactory;
import com.lbs.data.objects.BasicBusinessObject;
public class GLLHClass extends BasicBusinessLogicHandler {
@Override
public boolean beforeInsert(IBusinessLogicFactory factory,
FactoryParams params, BasicBusinessObject parentObj,
BasicBusinessObject obj) {
JOptionPane.showMessageDialog(null,"Test Mesajı");
return super.beforeInsert(factory, params, parentObj, obj);
}
}
Copyright © 2018 Logo Yazılım