{"id":8653,"date":"2012-09-25T21:56:44","date_gmt":"2012-09-25T16:26:44","guid":{"rendered":"https:\/\/2thenew.online\/blog\/?p=8653"},"modified":"2016-12-19T15:17:46","modified_gmt":"2016-12-19T09:47:46","slug":"static-type-checking-in-groovy-2-0","status":"publish","type":"post","link":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/","title":{"rendered":"Static Type Checking in Groovy 2.0"},"content":{"rendered":"<p>Groovy is a dynamic language. We can&#8217;t check any typo error, method or property missing error at compile time. To check typo error, method or\u00a0 property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time.<\/p>\n<p style=\"padding-bottom: 10px\">\n<p>To use static type checker in groovy<br \/>\nYou have to write <strong>@TypeChecked<\/strong> annotation above the method. It enables method to check errors at compile time.<\/p>\n<p style=\"padding-bottom: 10px\">\n<p>[groovy]<br \/>\nimport groovy.transform.TypeChecked<\/p>\n<p>void findData() {}<\/p>\n<p>@TypeChecked<br \/>\nint testData() {<br \/>\n    \/\/ compilation error:<br \/>\n    \/\/ cannot find matching method findssssData()<br \/>\n    findssssData()<\/p>\n<p>    def name = &amp;quot;Hello&amp;quot;<\/p>\n<p>    \/\/ compilation error:<br \/>\n    \/\/ the variable naaammme is undeclared<br \/>\n    println naaammme<\/p>\n<p>\/\/ compilation error<br \/>\n\/\/ cannot return string value if method return type is integer<br \/>\nreturn &amp;quot;hello&amp;quot;<br \/>\n}<\/p>\n<p>[\/groovy]<\/p>\n<p style=\"padding-bottom: 10px\">\n<p>This code will give the errors at compile time for method missing (findssssData), variable missing (variable name) and invalid return type.<\/p>\n<p style=\"padding-bottom: 10px\">\n<p>You can use static type checking in following case:<\/p>\n<ol>\n<li>To check the return type of any method<\/li>\n<li>Assignment type checking<\/li>\n<li>Method missing<\/li>\n<li>Variable missing<\/li>\n<\/ol>\n<p style=\"padding-bottom: 10px\">\n<p>To know more about static type checking, you can use following links:-<\/p>\n<p><a href=\"http:\/\/www.infoq.com\/articles\/new-groovy-20\">http:\/\/www.infoq.com\/articles\/new-groovy-20<\/a><\/p>\n<p><a href=\"http:\/\/www.infoq.com\/news\/2011\/11\/groovy-updates\">http:\/\/www.infoq.com\/news\/2011\/11\/groovy-updates<\/a><\/p>\n<p style=\"padding-bottom: 10px\">\n","protected":false},"excerpt":{"rendered":"<p>Groovy is a dynamic language. We can&#8217;t check any typo error, method or property missing error at compile time. To check typo error, method or\u00a0 property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":16,"footnotes":""},"categories":[7],"tags":[9],"class_list":["post-8653","post","type-post","status-publish","format-standard","hentry","category-grails","tag-groovy"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Groovy is a dynamic language. We can&#039;t check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mohit Garg\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Static Type Checking in Groovy 2.0 | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Groovy is a dynamic language. We can&#039;t check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Static Type Checking in Groovy 2.0 | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Groovy is a dynamic language. We can&#039;t check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#article\",\"name\":\"Static Type Checking in Groovy 2.0 | TO THE NEW Blog\",\"headline\":\"Static Type Checking in Groovy 2.0\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mohit\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2012-09-25T21:56:44+05:30\",\"dateModified\":\"2016-12-19T15:17:46+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#webpage\"},\"articleSection\":\"Grails, Groovy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#listItem\",\"name\":\"Static Type Checking in Groovy 2.0\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#listItem\",\"position\":3,\"name\":\"Static Type Checking in Groovy 2.0\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mohit\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mohit\\\/\",\"name\":\"Mohit Garg\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/931ccdefca3a3ec5366d4652824c2e03776befb43ae29205264bc46a3ec45d0a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Mohit Garg\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/\",\"name\":\"Static Type Checking in Groovy 2.0 | TO THE NEW Blog\",\"description\":\"Groovy is a dynamic language. We can't check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/static-type-checking-in-groovy-2-0\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mohit\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mohit\\\/#author\"},\"datePublished\":\"2012-09-25T21:56:44+05:30\",\"dateModified\":\"2016-12-19T15:17:46+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Static Type Checking in Groovy 2.0 | TO THE NEW Blog","description":"Groovy is a dynamic language. We can't check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy","canonical_url":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#article","name":"Static Type Checking in Groovy 2.0 | TO THE NEW Blog","headline":"Static Type Checking in Groovy 2.0","author":{"@id":"https:\/\/2thenew.online\/blog\/author\/mohit\/#author"},"publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"},"datePublished":"2012-09-25T21:56:44+05:30","dateModified":"2016-12-19T15:17:46+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#webpage"},"articleSection":"Grails, Groovy"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/2thenew.online\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#listItem","name":"Static Type Checking in Groovy 2.0"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#listItem","position":3,"name":"Static Type Checking in Groovy 2.0","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.online\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.online\/blog\/author\/mohit\/#author","url":"https:\/\/2thenew.online\/blog\/author\/mohit\/","name":"Mohit Garg","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/931ccdefca3a3ec5366d4652824c2e03776befb43ae29205264bc46a3ec45d0a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Mohit Garg"}},{"@type":"WebPage","@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#webpage","url":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/","name":"Static Type Checking in Groovy 2.0 | TO THE NEW Blog","description":"Groovy is a dynamic language. We can't check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.online\/blog\/author\/mohit\/#author"},"creator":{"@id":"https:\/\/2thenew.online\/blog\/author\/mohit\/#author"},"datePublished":"2012-09-25T21:56:44+05:30","dateModified":"2016-12-19T15:17:46+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.online\/blog\/#website","url":"https:\/\/2thenew.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Static Type Checking in Groovy 2.0 | TO THE NEW Blog","og:description":"Groovy is a dynamic language. We can't check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy","og:url":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/","og:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Static Type Checking in Groovy 2.0 | TO THE NEW Blog","twitter:description":"Groovy is a dynamic language. We can't check any typo error, method or property missing error at compile time. To check typo error, method or property missing at compile time, Groovy 2.0 introduces new features named as Static Type Checking which helps to check errors at compile time. To use static type checker in groovy","twitter:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"8653","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 13:34:54","updated":"2024-02-29 08:45:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tStatic Type Checking in Groovy 2.0\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.online\/blog"},{"label":"Grails","link":"https:\/\/2thenew.online\/blog\/category\/grails\/"},{"label":"Static Type Checking in Groovy 2.0","link":"https:\/\/2thenew.online\/blog\/static-type-checking-in-groovy-2-0\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/8653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/comments?post=8653"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/8653\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/media?parent=8653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/categories?post=8653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/tags?post=8653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}