public static ObjectType get(Class<? extends Controller> controllerClass) { Class<? extends Model> entityClass = getEntityClassForController(controllerClass); if (entityClass == null || !Model.class.isAssignableFrom(entityClass)) { return null; } ObjectType type; try { type = (ObjectType) Java.invokeStaticOrParent(controllerClass, "createObjectType", entityClass); } catch (Exception e) { Logger.error(e, "Couldn't create an ObjectType. Use default one."); type = new ObjectType(entityClass); } type.name = controllerClass.getSimpleName().replace("$", ""); type.controllerName = controllerClass.getSimpleName().toLowerCase().replace("$", ""); type.controllerClass = controllerClass; return type; }