{"id":61,"date":"2008-11-23T15:43:51","date_gmt":"2008-11-23T20:43:51","guid":{"rendered":"http:\/\/www.jetpen.com\/blog\/?p=61"},"modified":"2023-02-04T23:16:45","modified_gmt":"2023-02-05T05:16:45","slug":"java-christmas-wishlist-2008","status":"publish","type":"post","link":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/","title":{"rendered":"java christmas wish list 2008"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>JPA preCommit<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>read-only transaction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">javax.transaction.UserTransaction needs the ability to begin a transaction with an awareness of whether the transaction will be read-only or read-write. A read-only transaction would prevent writes (inserts, updates, and deletes) from being done.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>dynamic immutability<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It would be helpful if an instance of an object can be mutable, when used by some classes (e.g., builder, factory, repository, deserializer), and immutable, when used by others. This would facilitate the ability to load persistent objects from a data store, derive transient fields from persistent fields, and marking the instance as immutable if the transaction is read-only. I do not want to develop entities that have both a mutable class and an immutable class; and access control (private, protected) is not sufficient, if the mutability is dependent on context (e.g., read-only transaction).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction &hellip; <a href=\"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">java christmas wish list 2008<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2147,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[14],"class_list":["post-61","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-platform"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Ben Eng\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"There is no box - Insights into innovation\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"java christmas wish list 2008 - There is no box\" \/>\n\t\t<meta property=\"og:description\" content=\"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2008-11-23T20:43:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-02-05T05:16:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ben.eng\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@jetpen\" \/>\n\t\t<meta name=\"twitter:title\" content=\"java christmas wish list 2008 - There is no box\" \/>\n\t\t<meta name=\"twitter:description\" content=\"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@jetpen\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#blogposting\",\"name\":\"java christmas wish list 2008 - There is no box\",\"headline\":\"java christmas wish list 2008\",\"author\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/wp-content\\\/uploads\\\/2008\\\/11\\\/WPQ05utglX9emZcEFSwD.jpg\",\"width\":400,\"height\":400},\"datePublished\":\"2008-11-23T15:43:51-06:00\",\"dateModified\":\"2023-02-04T23:16:45-06:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#webpage\"},\"articleSection\":\"software, platform\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.jetpen.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"position\":2,\"name\":\"software\",\"item\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#listItem\",\"name\":\"java christmas wish list 2008\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#listItem\",\"position\":3,\"name\":\"java christmas wish list 2008\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"software\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\",\"name\":\"Ben Eng\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/\",\"name\":\"Ben Eng\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#webpage\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/\",\"name\":\"java christmas wish list 2008 - There is no box\",\"description\":\"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/author\\\/ben\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/wp-content\\\/uploads\\\/2008\\\/11\\\/WPQ05utglX9emZcEFSwD.jpg\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#mainImage\",\"width\":400,\"height\":400},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/2008\\\/11\\\/23\\\/java-christmas-wishlist-2008\\\/#mainImage\"},\"datePublished\":\"2008-11-23T15:43:51-06:00\",\"dateModified\":\"2023-02-04T23:16:45-06:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/\",\"name\":\"There is no box\",\"description\":\"Insights into innovation\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.jetpen.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"java christmas wish list 2008 - There is no box","description":"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction","canonical_url":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#blogposting","name":"java christmas wish list 2008 - There is no box","headline":"java christmas wish list 2008","author":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"publisher":{"@id":"https:\/\/www.jetpen.com\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg","width":400,"height":400},"datePublished":"2008-11-23T15:43:51-06:00","dateModified":"2023-02-04T23:16:45-06:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#webpage"},"isPartOf":{"@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#webpage"},"articleSection":"software, platform"},{"@type":"BreadcrumbList","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.jetpen.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","name":"software"}},{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","position":2,"name":"software","item":"https:\/\/www.jetpen.com\/blog\/category\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#listItem","name":"java christmas wish list 2008"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#listItem","position":3,"name":"java christmas wish list 2008","previousItem":{"@type":"ListItem","@id":"https:\/\/www.jetpen.com\/blog\/category\/software\/#listItem","name":"software"}}]},{"@type":"Person","@id":"https:\/\/www.jetpen.com\/blog\/#person","name":"Ben Eng"},{"@type":"Person","@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author","url":"https:\/\/www.jetpen.com\/blog\/author\/ben\/","name":"Ben Eng"},{"@type":"WebPage","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#webpage","url":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/","name":"java christmas wish list 2008 - There is no box","description":"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.jetpen.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#breadcrumblist"},"author":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"creator":{"@id":"https:\/\/www.jetpen.com\/blog\/author\/ben\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg","@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#mainImage","width":400,"height":400},"primaryImageOfPage":{"@id":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/#mainImage"},"datePublished":"2008-11-23T15:43:51-06:00","dateModified":"2023-02-04T23:16:45-06:00"},{"@type":"WebSite","@id":"https:\/\/www.jetpen.com\/blog\/#website","url":"https:\/\/www.jetpen.com\/blog\/","name":"There is no box","description":"Insights into innovation","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.jetpen.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"There is no box - Insights into innovation","og:type":"article","og:title":"java christmas wish list 2008 - There is no box","og:description":"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction","og:url":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/","og:image":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg","og:image:secure_url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg","og:image:width":400,"og:image:height":400,"article:published_time":"2008-11-23T20:43:51+00:00","article:modified_time":"2023-02-05T05:16:45+00:00","article:publisher":"https:\/\/www.facebook.com\/ben.eng","twitter:card":"summary_large_image","twitter:site":"@jetpen","twitter:title":"java christmas wish list 2008 - There is no box","twitter:description":"JPA preCommit Similar to the other events (PrePersist, PreRemove, PostPersist, PostRemove, PreUpdate, PostUpdate, and PostLoad), JPA needs to add a preCommit event. This would be useful for enforcing constraints (invariants) using Java logic, similar to how less expressive deferred constraints can be enforced in SQL. read-only transaction javax.transaction.UserTransaction needs the ability to begin a transaction","twitter:creator":"@jetpen","twitter:image":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg"},"aioseo_meta_data":{"post_id":"61","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"java","score":88,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":1},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":[]}},"additional":[]},"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":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"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":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","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":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2022-11-12 20:59:06","updated":"2025-06-04 04:28:48","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.jetpen.com\/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:\/\/www.jetpen.com\/blog\/category\/software\/\" title=\"software\">software<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tjava christmas wish list 2008\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.jetpen.com\/blog"},{"label":"software","link":"https:\/\/www.jetpen.com\/blog\/category\/software\/"},{"label":"java christmas wish list 2008","link":"https:\/\/www.jetpen.com\/blog\/2008\/11\/23\/java-christmas-wishlist-2008\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.jetpen.com\/blog\/wp-content\/uploads\/2008\/11\/WPQ05utglX9emZcEFSwD.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8eKak-Z","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":1,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"predecessor-version":[{"id":2483,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions\/2483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/media\/2147"}],"wp:attachment":[{"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetpen.com\/blog\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}