Package play.utils.crud.views

Source Code of play.utils.crud.views.Utils

package play.utils.crud.views;

import java.lang.reflect.Field;

import play.Logger;
import play.Logger.ALogger;
import play.twirl.api.Html;
import play.i18n.Messages;
import play.utils.meta.FieldMetadata;
import play.utils.meta.ModelMetadata;

public class Utils {

  private static ALogger log = Logger.of(Utils.class);

  public static String appName() {
    return Messages.get("crud.appname");
  }

  public static Html listRowField(FieldMetadata fieldMetadata, Object o) {
    return Html.apply(valueStr(fieldMetadata, o));
  }

  public static Html showField(FieldMetadata fieldMetadata, Object o) {
    return Html.apply(valueStr(fieldMetadata, o));
  }

  public static String keyValue(FieldMetadata fieldMetadata, Object o) {
    return valueStr(fieldMetadata, o);
  }

  public static String keyValue(ModelMetadata model, Object o) {
    FieldMetadata keyField = model.getKeyField();
    return valueStr(keyField, o);
  }

  public static String valueStr(FieldMetadata fieldMetadata, Object o) {
    Object value = value(fieldMetadata, o);
    if (value != null)
      return value.toString();
    return "N/A";
  }

  public static Object value(FieldMetadata fieldMetadata, Object o) {
    Field field = fieldMetadata.getField();
    try {
      field.setAccessible(true);
      Object resultObj = field.get(o);
      return resultObj;
    } catch (Exception e) {
      if (log.isDebugEnabled())
        log.debug("exception while accessing field value: " + field, e);
      return null;
    }
  }
}
TOP

Related Classes of play.utils.crud.views.Utils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.