// Path: src/main/java/br/com/soapboxrace/jaxb/convert/PerformancePartsConverter.java
// @Converter
// public class PerformancePartsConverter implements AttributeConverter<PerformancePartsType, String> {
// 	@Override
// 	public String convertToDatabaseColumn(PerformancePartsType performanceParts) {
// 		return MarshalXML.marshal(performanceParts);
// 	}
// 
// 	@Override
// 	public PerformancePartsType convertToEntityAttribute(String performancePartsString) {
// 		return (PerformancePartsType) UnmarshalXML.unMarshal(performancePartsString, new PerformancePartsType());
// 	}
// }
// 
// Path: src/main/java/br/com/soapboxrace/jaxb/convert/VisualPartsConverter.java
// @Converter
// public class VisualPartsConverter implements AttributeConverter<VisualPartsType, String> {
// 	@Override
// 	public String convertToDatabaseColumn(VisualPartsType visualParts) {
// 		return MarshalXML.marshal(visualParts);
// 	}
// 
// 	@Override
// 	public VisualPartsType convertToEntityAttribute(String visualPartsString) {
// 		return (VisualPartsType) UnmarshalXML.unMarshal(visualPartsString, new VisualPartsType());
// 	}
// }


import javax.persistence.Convert;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import br.com.soapboxrace.jaxb.convert.PaintsConverter;
import br.com.soapboxrace.jaxb.convert.PerformancePartsConverter;
import br.com.soapboxrace.jaxb.convert.SkillModPartsConverter;
import br.com.soapboxrace.jaxb.convert.VinylsConverter;
import br.com.soapboxrace.jaxb.convert.VisualPartsConverter;
package br.com.soapboxrace.jaxb;



@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CustomCarType", propOrder = { "baseCarId", "carClassHash", "isPreset", "level", "name", "apiId",
		"paints", "performanceParts", "physicsProfileHash", "rating", "resalePrice", "skillModParts", "skillModSlotCount", "vinyls",
		"visualParts" })
@XmlRootElement(name = "CustomCar")
public class CustomCarType {
	@XmlElement(name = "BaseCar", required = true)
	protected long baseCarId;
	@XmlElement(name = "CarClassHash")
	protected int carClassHash;
	@XmlElement(name = "IsPreset")
	protected boolean isPreset;
	@XmlElement(name = "Level")
	protected int level;
	@XmlElement(name = "Name")
	protected String name;
	@XmlElement(name = "Id", required = true)
	protected long apiId;
	@Convert(converter = PaintsConverter.class)
	@XmlElement(name = "Paints")
	protected PaintsType paints;
// Path: src/main/java/br/com/soapboxrace/jaxb/convert/PerformancePartsConverter.java
// @Converter
// public class PerformancePartsConverter implements AttributeConverter<PerformancePartsType, String> {
// 	@Override
// 	public String convertToDatabaseColumn(PerformancePartsType performanceParts) {
// 		return MarshalXML.marshal(performanceParts);
// 	}
// 
// 	@Override
// 	public PerformancePartsType convertToEntityAttribute(String performancePartsString) {
// 		return (PerformancePartsType) UnmarshalXML.unMarshal(performancePartsString, new PerformancePartsType());
// 	}
// }
// 
// Path: src/main/java/br/com/soapboxrace/jaxb/convert/VisualPartsConverter.java
// @Converter
// public class VisualPartsConverter implements AttributeConverter<VisualPartsType, String> {
// 	@Override
// 	public String convertToDatabaseColumn(VisualPartsType visualParts) {
// 		return MarshalXML.marshal(visualParts);
// 	}
// 
// 	@Override
// 	public VisualPartsType convertToEntityAttribute(String visualPartsString) {
// 		return (VisualPartsType) UnmarshalXML.unMarshal(visualPartsString, new VisualPartsType());
// 	}
// }


// Path: src/main/java/br/com/soapboxrace/jaxb/CustomCarType.java
import javax.persistence.Convert;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import br.com.soapboxrace.jaxb.convert.PaintsConverter;
import br.com.soapboxrace.jaxb.convert.PerformancePartsConverter;
import br.com.soapboxrace.jaxb.convert.SkillModPartsConverter;
import br.com.soapboxrace.jaxb.convert.VinylsConverter;
import br.com.soapboxrace.jaxb.convert.VisualPartsConverter;

package br.com.soapboxrace.jaxb;



@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CustomCarType", propOrder = { "baseCarId", "carClassHash", "isPreset", "level", "name", "apiId",
		"paints", "performanceParts", "physicsProfileHash", "rating", "resalePrice", "skillModParts", "skillModSlotCount", "vinyls",
		"visualParts" })
@XmlRootElement(name = "CustomCar")
public class CustomCarType {
	@XmlElement(name = "BaseCar", required = true)
	protected long baseCarId;
	@XmlElement(name = "CarClassHash")
	protected int carClassHash;
	@XmlElement(name = "IsPreset")
	protected boolean isPreset;
	@XmlElement(name = "Level")
	protected int level;
	@XmlElement(name = "Name")
	protected String name;
	@XmlElement(name = "Id", required = true)
	protected long apiId;
	@Convert(converter = PaintsConverter.class)
	@XmlElement(name = "Paints")
	protected PaintsType paints;
	@Convert(converter = PerformancePartsConverter.class)