public static boolean isFragmentableType(Class propertyType){
  if (propertyType == null) {
    return false;
  }
  if (propertyType.isArray()) {
    return isFragmentableType(propertyType.getComponentType());
  }
  if (JavaClassHelper.isJavaBuiltinDataType(propertyType)) {
    return false;
  }
  if (propertyType.isEnum()) {
    return false;
  }
  if (JavaClassHelper.isImplementsInterface(propertyType,Map.class)) {
    return false;
  }
  if (propertyType == Node.class) {
    return false;
  }
  if (propertyType == NodeList.class) {
    return false;
  }
  if (propertyType == Object.class) {
    return false;
  }
  if (propertyType == Calendar.class) {
    return false;
  }
  if (propertyType == Date.class) {
    return false;
  }
  if (propertyType == LocalDateTime.class) {
    return false;
  }
  if (propertyType == ZonedDateTime.class) {
    return false;
  }
  if (propertyType == LocalDate.class) {
    return false;
  }
  if (propertyType == LocalTime.class) {
    return false;
  }
  if (propertyType == java.sql.Date.class) {
    return false;
  }
  if (propertyType == java.sql.Time.class) {
    return false;
  }
  if (propertyType == java.sql.Timestamp.class) {
    return false;
  }
  return true;
}

public static boolean isFragmentableType ( Class propertyType ) { if ( propertyType == null ) { return false ; } if ( propertyType . isArray ( ) ) { return isFragmentableType ( propertyType . getComponentType ( ) ) ; } if ( JavaClassHelper . isJavaBuiltinDataType ( propertyType ) ) { return false ; } if ( propertyType . isEnum ( ) ) { return false ; } if ( JavaClassHelper . isImplementsInterface ( propertyType , Map . class ) ) { return false ; } if ( propertyType == Node . class ) { return false ; } if ( propertyType == NodeList . class ) { return false ; } if ( propertyType == Object . class ) { return false ; } if ( propertyType == Calendar . class ) { return false ; } if ( propertyType == Date . class ) { return false ; } if ( propertyType == LocalDateTime . class ) { return false ; } if ( propertyType == ZonedDateTime . class ) { return false ; } if ( propertyType == LocalDate . class ) { return false ; } if ( propertyType == LocalTime . class ) { return false ; } if ( propertyType == java . sql . Date . class ) { return false ; } if ( propertyType == java . sql . Time . class ) { return false ; } if ( propertyType == java . sql . Timestamp . class ) { return false ; } return true ; }
returns true if the class is a fragmentable type , i . e . not a primitive or boxed type or any of the common built - in types or does not implement map .
