จัดการกับข้อจำกัดของการพัฒนา Java Actions ใน Mendix โดยเฉพาะอย่างยิ่งในส่วนของการตรวจสอบหรือการจัดรูปแบบข้อมูลขาเข้า หรืออื่นๆ
ตัวอย่างการเขียน class
การนิยามและใช้งาน StringValidator ภายใน createContentMessage
// BEGIN EXTRA CODE private final String createContentMessage() throws Exception { //นิยามคลาส StringValidator ภายใน createContentMessage class StringValidator { String validateString(String input) { if (input == null || input.matches("[A-Za-z0-9 ]*")) { return input; } else { return input.replaceAll("[^A-Za-z0-9 ]", ""); } } } // สร้างอินสแตนซ์ของ StringValidator StringValidator validator = new StringValidator(); try { // ใช้งาน validator.validateString builder.append(outgoing.getMessageString("AAA", validator.validateString(request.getAAA()), 1));
นิยามคลาส StringValidator ภายในเมธอด:
แทนที่การสร้างคลาสหรืออินเทอร์เฟซภายนอก, StringValidator ถูกนิยามเป็นคลาสย่อยภายในเมธอด createContentMessage. นี่ช่วยให้สามารถจำกัดขอบเขตและการใช้งานของ StringValidator ให้อยู่ภายในเมธอดนี้เท่านั้น.
การจัดการข้อมูลขาเข้าด้วย validateString:
เมธอด validateString ใน StringValidator ใช้สำหรับตรวจสอบและแก้ไขข้อมูลขาเข้า. มันตรวจสอบว่าข้อมูลเป็น null, ประกอบด้วยตัวอักษรและตัวเลขเท่านั้น, และถ้าไม่ใช่, มันจะแทนที่ตัวละครที่ไม่ต้องการด้วยข้อมูลที่ต้องการ.
การสร้างอินสแตนซ์ของ StringValidator และใช้งานใน builder:
อินสแตนซ์ของ StringValidator ถูกสร้างขึ้นในเมธอด createContentMessage และใช้เพื่อตรวจสอบและจัดรูปแบบข้อมูลขาเข้าก่อนที่จะเพิ่มลงใน StringBuilder.
การเพิ่มข้อมูลที่ตรวจสอบแล้วลงใน StringBuilder:
ข้อมูลที่ผ่านการตรวจสอบโดย StringValidator จะถูกเพิ่มลงใน builder ซึ่งอาจเป็นส่วนหนึ่งของการจัดรูปแบบหรือการสร้างข้อความสำหรับการสื่อสารกับระบบภายนอก.
การใช้งาน validator ในขอบเขตที่ถูกต้อง:
ต้องมั่นใจว่าการใช้งาน validator นั้นเกิดขึ้นภายในขอบเขตที่ validator ถูกนิยามไว้, เพื่อหลีกเลี่ยงข้อผิดพลาดเกี่ยวกับขอบเขตตัวแปร.