OFBiz Utilities

UtilMisc
เป็นเมธอดอรรถประโยชน์ที่ใช้จัดการเกี่ยวกับ Mapและ List เช่น
Map returnMap = UtilMisc.toMap("keyOne", "valueOne");

ในส่วนของ Map นั้นสามารถ Map ข้อมูลสูงสุด ได้ 6 คู่
List returnList = UtilMisc.toList("valueOne", "valueTwo");

ในส่วนของ List นั้นสามารถ ใส่ ข้อมูลสูงสุด ได้ 6 ตัว ตัวอื่นๆ เช่น
UtilMisc.toDouble(Object obj)
UtilMisc.toIntegerObject(Object obj)
UtilMisc.toLong(Object obj)
UtilMisc.copyFile(File sourceLocation , File targetLocation)

UtilValidate
เป็นเมธอดในในการตรวจสอบเชคค่าข้อมูลต่างๆ ใน Strings, Maps, Lists, หรือ Objects เช่น
การเชคค่าตัวแปลว่าว่างหรือไม่.
boolean isEmpty = UtilValidate.isEmpty(returnMap);

หรือ การเชคค่าตัวแปลว่าไม่ว่างใช่หรือไม่.
boolean isNotEmpty = UtilValidate.isNotEmpty(returnMap);

ยังมีอีกหลายตัวที่ใช้กันบ่อย เช่น
UtilValidate.isString(Object obj)
UtilValidate.isLetter(char c)
UtilValidate.isHexDigit(char c)
UtilValidate.isInteger(String s)
UtilValidate.isFloat(String s)
UtilValidate.isEmail(String s)
UtilValidate.isUrl(String s)
UtilValidate.isYear(String s)
UtilValidate.isMonth(String s)
UtilValidate.isDay(String s)
UtilValidate.isHour(String s)
UtilValidate.isMinute(String s)
UtilValidate.isSecond(String s)
UtilValidate.isDate(String date)
UtilValidate.isTime(String time)
UtilValidate.isCreditCard(String stPassed)
UtilValidate.isVisa(String cc)
UtilValidate.isMasterCard(String cc)
UtilValidate.isAmericanExpress(String cc)
etc...

UtilDateTime
ในส่วนนี้จะจัดการเกี่ยวกับ java.sql.Timestamp และ java.util.Date. เพื่อที่จะคืนค่า java.sql.Timestamp ให้เรียกใช้ลักษณะดังนี้ครับ:
Timestamp now = UtilDateTime.nowTimestamp();

และในรูปแบบของ java.util.Date
Date now = UtilDateTime.nowDate();

ยังมีอีกหลายตัวที่ใช้กันบ่อย เช่น
UtilDateTime.getTimestamp(String milliSecs)
UtilDateTime.nowDateString()
UtilDateTime.nowDateString(String format)
UtilDateTime.toCalendar(java.sql.Timestamp stamp)
UtilDateTime.toSqlDate(String date)
UtilDateTime.toSqlTime(String time)
UtilDateTime.toTimestamp(String dateTime)
UtilDateTime.toDate(String dateTime)
UtilDateTime.toDateString(java.util.Date date)
etc...

EntityUtil
EntityUtil ใช้จัดการข้อมูลที่ได้มาจาก จัดการของ ตัว delegator ซึ่งผลลัพธ์ที่ได้จะมีชนิดข้อมูลเป็น GenericValue และ List<genericvalue> เช่น การดึงค่าข้อมูลแถวแรกใน List<genericvaluegt;
List ebayUserLoginList = delegator.findByAnd("UserLogin", UtilMisc.toMap("partyId", storeRole.get("partyId")));

GenericValue eBayUserLogin = EntityUtil.getFirst(ebayUserLoginList);

หรือเขียนในลักษณะนี้
GenericValue ebayProductStore = EntityUtil.getFirst(EntityUtil.filterByDate(delegator.findByAnd("EbayProductStoreInventory", UtilMisc.toMap("productStoreId", productStoreId, "productId", productId))));

ยังมีอีกหลายตัวที่ใช้กันบ่อย เกี่ยวกับ การดึงผลลัพธ์ การกรองผลลัพธ์ เช่น
EntityUtil.getOnly(List values)
EntityUtil.filterByDate(List datedValues)
EntityUtil.isValueActive(GenericValue datedValue, java.sql.Timestamp moment)
EntityUtil.filterByAnd(List values, Map fields)
EntityUtil.orderBy(Collection values, List orderBy)
EntityUtil.getRelated(String relationName, List values)
EntityUtil.filterByCondition(List values, EntityCondition condition)
etc...

ServiceUtil
เป็นตัวจัดการตรวจสอบ ผลลัพธ์ของ service ที่ดำเนินการโดย dispatcher เช่น
Map tmpResult = dispatcher.runSync("createFinAccountAuth", UtilMisc.toMap("finAccountId", finAccountId,
                      "amount", amount, "thruDate", thruDate, "userLogin", userLogin));

if (ServiceUtil.isError(tmpResult)) {
  return tmpResult;
 }

เมื่อมีการเรียกใช้ service แล้วตัว servcie จะคืนค่าผลัพธ์มาให้ ซึ่งเราสามารถเชคได้ เช่น เชคว่า error หรือไม่
if (ServiceUtil.isError(tmpResult)) {
  return tmpResult;
 }

เชคว่า failure หรือไม่
if (ServiceUtil.isFailure(tmpResult)) {
  return tmpResult;
 }

เชคว่า Success หรือไม่
if (ServiceUtil.isSuccess(tmpResult)) {
  return tmpResult;
 }

ยังมีอีกหลายตัวที่ใช้กันบ่อยเกี่ยวกับการคืนค่า ไปแสดงบนหน้าจอ เช่น
eturnError(String errorMessage)
returnFailure(String errorMessage)
returnSuccess(String successMessage)
returnMessage(String code, String message)
setMessages(HttpServletRequest request, String errorMessage, String eventMessage, String defaultMessage)
getMessages(HttpServletRequest request, Map result, String defaultMessage)

UtilProperties
UtilProperties ใช้ในการจัดการดึงตัวแปล ข้อมูลที่ประกาศไว้ในไฟล์ .properties เช่น การเอาสกุลเงินออกมาจากไฟล์ .properties และกำหนดค่า default หากไม่ได้ถูกกำหนดไว้
currencyUom = UtilProperties.getPropertyValue("general.properties", "currency.uom.id.default", "USD");

ตัวอื่นๆที่ใช้กันบ่อย
getMessage(String resource, String name, Locale locale)
getPropertyNumber(String resource, String name, double defaultValue)
etc...

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment