Uygulama yüklendiğinde, Flex uygulamaları için
initApp()
yöntemi çağrılır veya Flash uygulamaları için zaman çizelgesi (işlev olmayan) kodu çalıştırılır. Bu kod, Doğrulayan sınıf tarafından doğrulanan örnek XML paketini tanımlar. Aşağıdaki kod çalıştırılır:
employeeXML =
<employee id="12345">
<firstName>John</firstName>
<lastName>Doe</lastName>
<costCenter>12345</costCenter>
<costCenter>67890</costCenter>
</employee>;
}
XML paketi daha sonra Sahne Alanı'nda bir TextArea bileşen örneğinde görüntülenir. Bu adım, XML paketini yeniden doğrulama girişiminde bulunmadan önce XML paketini değiştirmenizi sağlar.
Kullanıcı Doğrulama düğmesini tıklattığında,
validateData()
yöntemi çağrılır. Bu yöntem, Validator sınıfında
validateEmployeeXML()
yöntemini kullanarak çalışan XML paketini doğrular. Aşağıdaki kod,
validateData()
yöntemini gösterir:
function validateData():void
{
try
{
var tempXML:XML = XML(xmlText.text);
Validator.validateEmployeeXML(tempXML);
status.text = "The XML was successfully validated.";
}
catch (error:FatalError)
{
showFatalError(error);
}
catch (error:WarningError)
{
showWarningError(error);
}
catch (error:Error)
{
showGenericError(error);
}
}
İlk olarak,
xmlText
TextArea bileşen örneğinin içerikleri kullanılarak geçici bir XML nesnesi oluşturulur. Daha sonra, özel Doğrulayan sınıfındaki(com.example.programmingas3/errors/Validator.as)
validateEmployeeXML()
yöntemi çağırılır ve parametre olarak geçici XML nesnesine gönderilir. XML paketi geçerliyse,
status
Label bileşen örneği bir başarı mesajını görüntüler ve uygulamadan çıkılır.
validateEmployeeXML()
yöntemi özel bir hata atarsa (başka bir deyişle, bir FatalError, WarningError veya genel Error oluşursa), uygun
catch
deyimi çalıştırılır ve
showFatalError()
,
showWarningError()
veya
showGenericError()
yöntemlerinden birini çağırır. Bu yöntemlerden her biri, kullanıcıya belirli bir hatanın oluştuğunu bildirmek için
statusTex
t adındaki bir metin alanında uygun bir mesajı görüntüler. Ayrıca her yöntem,
status
Label bileşen örneğini belirli bir mesajla günceller.
Çalışan XML paketini doğrulama girişimi sırasında kritik bir hata oluşursa, aşağıdaki kodun gösterdiği gibi, hata mesajı
statusText
metin alanında görüntülenir ve
xmlText
TextArea bileşen örneği ile
validateBtn
Button bileşen örneği devre dışı bırakılır:
function showFatalError(error:FatalError):void
{
var message:String = error.message + "\n\n";
var title:String = error.getTitle();
statusText.text = message + " " + title + "\n\nThis application has ended.";
this.xmlText.enabled = false;
this.validateBtn.enabled = false;
hideButtons();
}
Kritik hata yerine bir uyarı hatası oluşursa, hata mesajı
statusText
TextArea örneğinde görüntülenir ancak
xmlText
TextField ve Button bileşen örnekleri devre dışı bırakılmaz.
showWarningError()
yöntemi, özel hata mesajını
statusText
metin alanında görüntüler. Ayrıca mesaj, kullanıcıdan XML doğrulama işlemine devam etmeyi mi yoksa komut dosyasını durdurmayı mı istediğine karar vermesini ister. Aşağıdaki alıntı
showWarningError()
yöntemini gösterir:
function showWarningError(error:WarningError):void
{
var message:String = error.message + "\n\n" + "Do you want to exit this application?";
showButtons();
var title:String = error.getTitle();
statusText.text = message;
}
Kullanıcı Evet veya Hayır düğmesini tıklattığında,
closeHandler()
yöntemi çağrılır. Aşağıdaki alıntı
closeHandler()
yöntemini gösterir:
function closeHandler(event:CloseEvent):void
{
switch (event.detail)
{
case yesButton:
showFatalError(new FatalError(9999));
break;
case noButton:
statusText.text = "";
hideButtons();
break;
}
}
Kullanıcı Evet'i tıklatarak komut dosyasını durdurmayı seçerse bir FatalError verilerek uygulamanın sonlandırılmasına neden olur.