{"id":218,"date":"2012-11-11T19:22:19","date_gmt":"2012-11-11T19:22:19","guid":{"rendered":"http:\/\/ilias-laptop\/examples\/core-java\/class\/generic-deep-copy\/"},"modified":"2013-07-22T01:11:48","modified_gmt":"2013-07-21T22:11:48","slug":"generic-deep-copy","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/","title":{"rendered":"Generic deep copy"},"content":{"rendered":"<p> This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes and then copied the one to the other, as described below:<\/p>\n<ul>\n<li>We have created two classes <code>A<\/code> and <code>B<\/code>. <code>B<\/code> class has a String and an int field and overrides the <code>toString()<\/code> method inherited from <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/Object.html\" target=\"_blank\">Object<\/a>. <code>A<\/code> class has two int fields, and a <code>B<\/code> field and also overrides the <code>toString()<\/code> method inherited from Object.<\/li>\n<li>We have also created a class, <code>GenericCopy<\/code>, that consists of a method, <code>static &gt;T&lt; void copyFields(T from, T to)<\/code>. The method reads each <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/reflect\/Field.html\" target=\"_blank\">Field<\/a> from a source class, using <code>getClass()<\/code>, <code>getFields()<\/code> API methods of <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/Class.html\" target=\"_blank\">Class<\/a>, and for each one of them checks if its type is <code>Primitive<\/code>, using the <code>boolean isPrimitivish(Class c)<\/code> method of <code>GenericCopy<\/code>.<\/li>\n<li>In <code>boolean isPrimitivish(Class c)<\/code> method the type of each field is checked and returned. The <code>getType()<\/code> API method of Field is used to get the type of each field. If a field has a primitive type or its type is equal to one of the classes that wrap the values of the primitive types, then this field in the target class is replaced with the value of the same field from the source class. Else, the <code>copyFields(T from, T to)<\/code> method is called for the specified field.<\/li>\n<\/ul>\n<p> Let\u2019s take a look at the code snippet that follows:  <div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\"brush:java\">\r\npackage com.javacodegeeks.snippets.core;\r\n\r\nimport java.lang.reflect.Field;\r\n\r\npublic class GenericCopy {\r\n\r\n    \/**\r\n     * Deep-copies the values from one object to the other\r\n     *\r\n     *\/\r\n    public static void main(String[] args) {\r\n\r\n\r\n  A a1 = new A(1, 2, new B(\"string 1\", 10));\r\n\r\n\r\n  A a2 = new A(3, 4, new B(\"string 2\", 20));\r\n\r\n\r\n  System.out.println(\"a1 is :\" + a1);\r\n\r\n  System.out.println(\"a2 is :\" + a2);\r\n\r\n\r\n  copyFields(a1, a2);\r\n\r\n  \r\n\r\n  System.out.println(\"After copying...\");\r\n\r\n\r\n  System.out.println(\"a1 is :\" + a1);\r\n\r\n  System.out.println(\"a2 is :\" + a2);\r\n\r\n    }\r\n\r\n    public static &lt;T&gt; void copyFields(T from, T to) {\r\n\r\n\r\n  for (Field f : from.getClass().getFields()) {\r\n\r\n\r\n\r\ntry {\r\n\r\n\r\n    if (isPrimitivish(f.getType())) {\r\n\r\n\r\n\r\n  f.set(to, f.get(from));\r\n\r\n\r\n    } else {\r\n\r\n\r\n\r\n  copyFields(f.get(from), f.get(to));\r\n\r\n\r\n    }\r\n\r\n\r\n} catch (IllegalArgumentException | IllegalAccessException e) {\r\n\r\n\r\n    e.printStackTrace();\r\n\r\n\r\n}\r\n\r\n  }\r\n    }\r\n\r\n    private static boolean isPrimitivish(Class c) {\r\n\r\n  return c.isPrimitive() || c == String.class || c == Boolean.class\r\n\r\n\r\n    || c == Byte.class || c == Short.class || c == Character.class\r\n\r\n\r\n    || c == Integer.class || c == Float.class || c == Double.class\r\n\r\n\r\n    || c == Long.class;\r\n    }\r\n}\r\n\r\nclass A {\r\n\r\n   public int x;\r\n   public int y;\r\n   public B bObj;\r\n\r\n    public A(int x, int y, B b) {\r\n\r\n\r\n  this.x = x;\r\n\r\n  this.y = y;\r\n\r\n  this.bObj = b;\r\n\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n\r\n  return \"[\" + this.x + \",\" + this.y + \",\" + this.bObj.toString() + \"]\";\r\n    }\r\n}\r\n\r\nclass B {\r\n\r\n    public String str;\r\n    public int z;\r\n\r\n    public B(String str, int z) {\r\n\r\n\r\n  this.str = str;\r\n\r\n  this.z = z;\r\n\r\n    }\r\n\r\n    @Override\r\n    public String toString() {\r\n\r\n  return \"[\" + this.str + \",\" + this.z + \"]\";\r\n    }\r\n}\r\n<\/pre>\n<p>\n<b>Output:<\/b><\/p>\n<pre style=\"background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;\">\r\n<code style=\"color: black; word-wrap: normal;\">a1 is :[1,2,[string 1,10]]\r\na2 is :[3,4,[string 2,20]]\r\nAfter copying...\r\na1 is :[1,2,[string 1,10]]\r\na2 is :[1,2,[string 1,10]]<\/code>\r\n<\/pre>\n<p>&nbsp;<br \/>\nThis was an example of how to make a generic copy of a class in Java.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes and then copied the one to the other, as described below: We have created two classes A and B. B class has a &hellip;<\/p>\n","protected":false},"author":7,"featured_media":1204,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100],"tags":[1081,189],"class_list":["post-218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-class","tag-class","tag-core-java-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Generic deep copy - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generic deep copy - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-11T19:22:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-07-21T22:11:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ilias Tsagklis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ilias Tsagklis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\"},\"author\":{\"name\":\"Ilias Tsagklis\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e\"},\"headline\":\"Generic deep copy\",\"datePublished\":\"2012-11-11T19:22:19+00:00\",\"dateModified\":\"2013-07-21T22:11:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\"},\"wordCount\":231,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"keywords\":[\"class\",\"core java\"],\"articleSection\":[\"class\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\",\"name\":\"Generic deep copy - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"datePublished\":\"2012-11-11T19:22:19+00:00\",\"dateModified\":\"2013-07-21T22:11:48+00:00\",\"description\":\"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"Bipartite Graph\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"class\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/class\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Generic deep copy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e\",\"name\":\"Ilias Tsagklis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg\",\"caption\":\"Ilias Tsagklis\"},\"description\":\"Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.\",\"sameAs\":[\"http:\/\/www.iliastsagklis.com\/\",\"https:\/\/www.linkedin.com\/in\/iliastsagklis\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/ilias-tsagklis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generic deep copy - Java Code Geeks","description":"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes","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:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/","og_locale":"en_US","og_type":"article","og_title":"Generic deep copy - Java Code Geeks","og_description":"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes","og_url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-11-11T19:22:19+00:00","article_modified_time":"2013-07-21T22:11:48+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","type":"image\/jpeg"}],"author":"Ilias Tsagklis","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Ilias Tsagklis","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/"},"author":{"name":"Ilias Tsagklis","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e"},"headline":"Generic deep copy","datePublished":"2012-11-11T19:22:19+00:00","dateModified":"2013-07-21T22:11:48+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/"},"wordCount":231,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","keywords":["class","core java"],"articleSection":["class"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/","url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/","name":"Generic deep copy - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","datePublished":"2012-11-11T19:22:19+00:00","dateModified":"2013-07-21T22:11:48+00:00","description":"This is an example of how to make a generic copy of a class, using Java reflection. In order to make a generic copy of a class we have created two classes","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","width":150,"height":150,"caption":"Bipartite Graph"},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/class\/generic-deep-copy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/"},{"@type":"ListItem","position":4,"name":"class","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/class\/"},{"@type":"ListItem","position":5,"name":"Generic deep copy"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e","name":"Ilias Tsagklis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg","caption":"Ilias Tsagklis"},"description":"Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.","sameAs":["http:\/\/www.iliastsagklis.com\/","https:\/\/www.linkedin.com\/in\/iliastsagklis"],"url":"https:\/\/examples.javacodegeeks.com\/author\/ilias-tsagklis\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}