diff -r af170d42b5b3 -r 22358b42ec2a javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java Mon Mar 25 11:50:36 2013 +0100 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java Sun Mar 31 05:34:15 2013 +0200 @@ -41,6 +41,14 @@ Object ret = getProperty(object, property); return ret instanceof Number ? ((Number)ret).intValue() : Integer.MIN_VALUE; } + + public static T toModel(Class modelClass, Object object, String property) { + Object ret = getProperty(object, property); + if (ret == null || modelClass.isInstance(ret)) { + return modelClass.cast(ret); + } + throw new IllegalStateException("Value " + ret + " is not of type " + modelClass); + } @JavaScriptBody(args = { "object", "property" }, body = "if (property === null) return object;\n"