QLH bir query nesnesinin query katmanından geçerken kullanılacak handler sınıfıdır.
Bu teknoloji query işlemleri öncesi/sonrasında ihtiyaca göre işlemler yapmamıza olanak sağlar.
Aşağıdaki metodlar override edilerek amacımızı gerçekleyebiliriz. Bu metodların çalışma zamanları ve anlamları kısaca;
- OnQueryExecution query nesnesi çalışırken tetiklenir.
- 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.
Öncelikle projenizde "queryLogicHandlers" tanımı yapmamız gerekir. Bunun için aşağıdaki adımları inceleyiniz.
1 -
- Proje altında bulunan Definitions>querylogichandlers dosyası seçilir
- Tanımlama ekranı açılır.
- Mouse sağ click add tıklanarak tanımlama ekranı açılır.
2 - Açılan "Query Logic Handler Definition" ekranından gerekli tanımlamaları yaparız;
- Name : Adı
- Query Logic Handler Package : Paket adı
- Query Logic Handler : Yeni bir handler sınıfı oluşturulabilir ya da mevcut kullanılabilir.
- Query Object : Handler ile ilişkili query nesnesi
- Main Table: Table tanımlama alanı
- Description : Açıklama
3 - Sonrasında;
Tanım yaparken oluşan class içerinde gerekli metotları çağırarak işlemlerimizi gerçekleştiririz.
Örnek
package com.LPT.customization;
import javax.swing.JOptionPane;
import com.lbs.data.factory.IBusinessLogicFactory;
import com.lbs.data.query.QueryActiveSchema;
import com.lbs.data.query.QueryBusinessObject;
import com.lbs.data.query.QueryCommand;
import com.lbs.data.query.QueryLogicHandler;
public class CQLArpCardBrowser extends QueryLogicHandler
{
@Override
public boolean onQueryExecution(IBusinessLogicFactory factory,
QueryActiveSchema querySchema, QueryCommand queryCommand,
QueryBusinessObject item, int point) {
item.getProperties().set("CustomFieldName", "QLHTest..");
System.out.println("onQueryExecution...");
return
super.onQueryExecution(factory, querySchema, queryCommand, item, point);
}
}
Copyright © 2018 Logo Yazılım