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);

                                          }
}


Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım