{"id":7598,"date":"2023-01-27T13:42:22","date_gmt":"2023-01-27T08:12:22","guid":{"rendered":"https:\/\/innovationm.co\/?p=7598"},"modified":"2023-01-27T13:44:25","modified_gmt":"2023-01-27T08:14:25","slug":"javas-functional-consumer-interface","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/","title":{"rendered":"Java&#8217;s functional Consumer interface"},"content":{"rendered":"<p>Quite often, a Java Stream or other component needs an object passed thereto to <span style=\"font-size: 1rem;\">perform some form of calculation or process, but when the method is complete, nothing <\/span><span style=\"font-size: 1rem;\">returns from the tactic. this is often where Java\u2019s functional Consumer interface <\/span>comes in handy. According to JavaDoc, the patron interface accepts any object style as input. The java.util.function.<\/p>\n<p>The consumer class has one non-default method named accept which takes one object as its argument and contains a void return type.<\/p>\n<pre>eg.\u00a0 \u00a0\u00a0java.util.function.Consumer&lt;T&gt;<\/pre>\n<p><strong>Functional programming with Consumer<\/strong><\/p>\n<p>Sometimes programmers of new lambdas and streams get intimidated by the components defined within the java.util.function package, so I always wish to remind developers that each one of all the interfaces defined during this package follows all of the standards and pre-Java 8 rules for implementing interfaces.<\/p>\n<p>As such, you&#8217;ll incorporate the functional Consumer interface into your code just by creating a category that implements the java.util.function.Consumer, or by coding an inner class<\/p>\n<p><strong>\u00a0Implement a Consumer with a Java class<\/strong><\/p>\n<p>Here is the Java Consumer function implemented using a Java class instead of a lambda expressions<\/p>\n<pre>class ConsumerExample implements Consumer&lt;Long&gt; {\r\n\r\n\u00a0 public void accept(Long t) {\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(t*t);\r\n\r\n\u00a0 }\r\n\r\n}<\/pre>\n<p>Inside a main method or any other piece of Java code, the ConsumerExample class can be instantiated according to traditional Java syntax rules<\/p>\n<pre>\/* Java Consumer example using a class *\/\r\n\r\nConsumerExample ce = new ConsumerExample();\r\n\r\nce.accept(new Long(4));<\/pre>\n<p>&nbsp;<\/p>\n<p>Also, an inner class can be used<\/p>\n<pre>\/* Functional Consumer example using inner class *\/\r\n\r\nConsumer&lt;Long&gt; innerConsumer = new Consumer&lt;Long&gt;() {\r\n\r\n\r\n\r\n\r\n\u00a0 @Override\r\n\r\n\u00a0 public void accept(Long u) {\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(u*u);\r\n\r\n\u00a0 }\r\n\r\n};<\/pre>\n<p>I like to use a verbose lambda syntax when demonstrating how they work, but one in all the explanations for using lambda expressions is to form Java less verbose. in order that the lambda expression above is written in a way more concise manner this is often the feature of consumer interfaces<\/p>\n<pre>Consumer&lt;Long&gt; conciseLambda = U -&gt; System.out.println(U*U);\r\n\r\nconciseLambda.accept(new Long(30))<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Sample Consumer interface use cases-<\/strong><\/p>\n<p>The functional Consumer interface is employed extensively across the Java API, with a variety of classes within the java.util.function package, like ObjIntConsumer, BIConsumer, and IntConsumer providing extended support to the fundamental interface.<\/p>\n<p>Furthermore, a spread of methods within the Java Stream API takes the functional Consumer interface as an argument, including methods like collect, forEach, and peek.<\/p>\n<p>There are only some key interfaces you would like to master so as to become a competent functional programmer. If you understand the concepts laid and move into this functional Consumer interface example, you\u2019re well on your thanks to mastering the updated Java APIs.<\/p>\n<p><strong>Consumer tutorial code<\/strong><\/p>\n<p>&nbsp;<\/p>\n<pre>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import java.util.ArrayList;\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import java.util.List;\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 import java.util.function.Consumer;\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public class ConsumerInterfaceExample {\u00a0\r\n\r\n\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 static void addList(List&lt;Integer&gt; list){\u00a0\u00a0\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 int result = list.stream()\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 .mapToInt(Integer::intValue)\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 .sum();\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 System.out.println(\"Sum of list values: \"+result);\r\n\r\n\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\u00a0\r\n\r\n\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public static void main(String[] args) {\u00a0\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 List&lt;Integer&gt; list = new ArrayList&lt;Integer&gt;();\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list.add(10);\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list.add(20);\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list.add(30);\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list.add(40);\u00a0\u00a0\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 Consumer&lt;List&lt;Integer&gt;&gt; consumer = ConsumerInterfaceExample::addList;\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 consumer.accept(list);\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u00a0\r\n\r\n\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Quite often, a Java Stream or other component needs an object passed thereto to perform some form of calculation or process, but when the method is complete, nothing returns from the tactic. this is often where Java\u2019s functional Consumer interface comes in handy. According to JavaDoc, the patron interface accepts any object style as input. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7599,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[256,360],"tags":[722,827,828,224,829],"class_list":["post-7598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java-application","category-javascript","tag-blog","tag-functions","tag-interface","tag-java","tag-java-functions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Java&#039;s functional Consumer interface - InnovationM - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java&#039;s functional Consumer interface - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"Quite often, a Java Stream or other component needs an object passed thereto to perform some form of calculation or process, but when the method is complete, nothing returns from the tactic. this is often where Java\u2019s functional Consumer interface comes in handy. According to JavaDoc, the patron interface accepts any object style as input. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-27T08:12:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-27T08:14:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1689\" \/>\n\t<meta property=\"og:image:height\" content=\"950\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Java&#8217;s functional Consumer interface\",\"datePublished\":\"2023-01-27T08:12:22+00:00\",\"dateModified\":\"2023-01-27T08:14:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/\"},\"wordCount\":389,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Java-functional-consumer-interface.png\",\"keywords\":[\"blog\",\"functions\",\"interface\",\"java\",\"java functions\"],\"articleSection\":[\"Java Application\",\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/\",\"name\":\"Java's functional Consumer interface - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Java-functional-consumer-interface.png\",\"datePublished\":\"2023-01-27T08:12:22+00:00\",\"dateModified\":\"2023-01-27T08:14:25+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Java-functional-consumer-interface.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/Java-functional-consumer-interface.png\",\"width\":1689,\"height\":950},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/javas-functional-consumer-interface\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java&#8217;s functional Consumer interface\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java's functional Consumer interface - InnovationM - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/","og_locale":"en_US","og_type":"article","og_title":"Java's functional Consumer interface - InnovationM - Blog","og_description":"Quite often, a Java Stream or other component needs an object passed thereto to perform some form of calculation or process, but when the method is complete, nothing returns from the tactic. this is often where Java\u2019s functional Consumer interface comes in handy. According to JavaDoc, the patron interface accepts any object style as input. [&hellip;]","og_url":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/","og_site_name":"InnovationM - Blog","article_published_time":"2023-01-27T08:12:22+00:00","article_modified_time":"2023-01-27T08:14:25+00:00","og_image":[{"width":1689,"height":950,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Java&#8217;s functional Consumer interface","datePublished":"2023-01-27T08:12:22+00:00","dateModified":"2023-01-27T08:14:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/"},"wordCount":389,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png","keywords":["blog","functions","interface","java","java functions"],"articleSection":["Java Application","JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/","url":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/","name":"Java's functional Consumer interface - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png","datePublished":"2023-01-27T08:12:22+00:00","dateModified":"2023-01-27T08:14:25+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/01\/Java-functional-consumer-interface.png","width":1689,"height":950},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/javas-functional-consumer-interface\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java&#8217;s functional Consumer interface"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=7598"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7598\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/7599"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=7598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=7598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=7598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}