package com.axelor.apps.prestashop.entities;

import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * Common root tag for all API calls. Interesting content
 * is in content attribute, which should be casted based
 * on the kind of request.
 */
@XmlRootElement
public class Prestashop {
	@XmlElementRef
	private PrestashopContainerEntity content;

	@SuppressWarnings("unchecked")
	@XmlTransient
	public <T> T getContent() {
		return (T)content;
	}

	public void setContent(PrestashopContainerEntity content) {
		this.content = content;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this)
				.append("content", content)
				.toString();
	}
}

@@ -39,16 +39,114 @@
 ities;%0A%0A
+import javax.xml.bind.annotation.XmlAccessType;%0Aimport javax.xml.bind.annotation.XmlAccessorType;%0A
 import j
@@ -185,16 +185,16 @@
 entRef;%0A
-
 import j
@@ -237,55 +237,8 @@
 ent;
-%0Aimport javax.xml.bind.annotation.XmlTransient;
 %0A%0Aim
@@ -459,16 +459,54 @@
 Element%0A
+@XmlAccessorType(XmlAccessType.FIELD)%0A
 public c
@@ -621,32 +621,51 @@
 %22)%0A%09
-@XmlTransient%0A%09public %3CT
+public %3CT extends PrestashopContainerEntity
 %3E T 

add boundaries to type parameters