Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2013.03.04 at 03:49:29 PM IST 
//


package in.shop2020.feeds.products;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
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.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="VariationData" minOccurs="0">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="Parentage">
 *                     &lt;simpleType>
 *                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *                         &lt;enumeration value="parent"/>
 *                         &lt;enumeration value="child"/>
 *                       &lt;/restriction>
 *                     &lt;/simpleType>
 *                   &lt;/element>
 *                   &lt;element name="VariationTheme" minOccurs="0">
 *                     &lt;simpleType>
 *                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *                         &lt;enumeration value="Color"/>
 *                         &lt;enumeration value="Size"/>
 *                         &lt;enumeration value="Size-Color"/>
 *                         &lt;enumeration value="Scent"/>
 *                         &lt;enumeration value="Size-Scent"/>
 *                         &lt;enumeration value="CustomerPackageType"/>
 *                         &lt;enumeration value="ColorName-CustomerPackageType"/>
 *                         &lt;enumeration value="SizeName-CustomerPackageType"/>
 *                         &lt;enumeration value="SizeName-ColorName-CustomerPackageType"/>
 *                         &lt;enumeration value="StyleName-CustomerPackageType"/>
 *                         &lt;enumeration value="SizeName-StyleName-CustomerPackageType"/>
 *                       &lt;/restriction>
 *                     &lt;/simpleType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="AudibleNoise" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="Color" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ColorMap" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CustomerPackageType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CanShipInOriginalContainer" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element ref="{}EnclosureFinish" minOccurs="0"/>
 *         &lt;element ref="{}EuEnergyLabelEfficiencyClass" minOccurs="0"/>
 *         &lt;element name="IdentityPackageType" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{}StringNotNull">
 *               &lt;enumeration value="bulk"/>
 *               &lt;enumeration value="frustration_free"/>
 *               &lt;enumeration value="traditional"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="Voltage" type="{}VoltageDecimalDimension" minOccurs="0"/>
 *         &lt;element name="Wattage" type="{}WattageIntegerDimension" minOccurs="0"/>
 *         &lt;element name="PowerSource" type="{}FortyStringNotNull" minOccurs="0"/>
 *         &lt;element name="AdditionalFeatures" type="{}LongStringNotNull" minOccurs="0"/>
 *         &lt;element name="VehicleSpeakerSize" type="{}TwentyStringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakerDiameter" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="TelephoneType" type="{}FortyStringNotNull" maxOccurs="4" minOccurs="0"/>
 *         &lt;element name="PDABaseModel" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DigitalMediaFormat" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="diskette35"/>
 *               &lt;enumeration value="3480_tape_cartridge"/>
 *               &lt;enumeration value="4_mm_tape"/>
 *               &lt;enumeration value="diskette525"/>
 *               &lt;enumeration value="6250_magstar_tape"/>
 *               &lt;enumeration value="cd"/>
 *               &lt;enumeration value="compact_flash"/>
 *               &lt;enumeration value="dat_tape"/>
 *               &lt;enumeration value="digital_8"/>
 *               &lt;enumeration value="dlt"/>
 *               &lt;enumeration value="dvd_ram"/>
 *               &lt;enumeration value="dvd_rom"/>
 *               &lt;enumeration value="dvd_video"/>
 *               &lt;enumeration value="electronic_software_download"/>
 *               &lt;enumeration value="hi_8"/>
 *               &lt;enumeration value="memory_stick"/>
 *               &lt;enumeration value="minidisc"/>
 *               &lt;enumeration value="minidv"/>
 *               &lt;enumeration value="smart_media"/>
 *               &lt;enumeration value="vhs"/>
 *               &lt;enumeration value="xd_card"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="HomeAutomationCommunicationDevice" type="{}ThirtyStringNotNull" minOccurs="0"/>
 *         &lt;element name="DigitalAudioCapacity" type="{}TwentyStringNotNull" minOccurs="0"/>
 *         &lt;element name="VideoProcessor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="HolderCapacity" type="{}TwentyStringNotNull" minOccurs="0"/>
 *         &lt;element name="MemorySlotsAvailable" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ProcessorBrand" type="{}FortyStringNotNull" minOccurs="0"/>
 *         &lt;element name="ProcessorCount" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="ProcessorType" type="{}ProcessorTypeValues" minOccurs="0"/>
 *         &lt;element name="ProcessorSpeed" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element name="RAMSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="ScreenResolution" type="{}FortyStringNotNull" minOccurs="0"/>
 *         &lt;element name="SoftwareIncluded" type="{}LongStringNotNull" minOccurs="0"/>
 *         &lt;element name="ColorScreen" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="ScreenSize" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="WirelessType" type="{}WirelessTypeValues" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="HardDriveSize" type="{}MemorySizeDimension" maxOccurs="8" minOccurs="0"/>
 *         &lt;element name="HardDriveInterface" type="{}HardDriveInterfaceTypeValues" maxOccurs="4" minOccurs="0"/>
 *         &lt;element name="OperatingSystem" type="{}MediumStringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="HardwarePlatform" type="{}MediumStringNotNull" minOccurs="0"/>
 *         &lt;element name="ComputerMemoryType" type="{}GraphicsRAMTypeValues" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="ItemPackageQuantity" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="PurchasingFeeRefSKU" type="{}SKUType" minOccurs="0"/>
 *         &lt;element ref="{}ThreeDTechnology" minOccurs="0"/>
 *         &lt;element ref="{}BiAmpable" minOccurs="0"/>
 *         &lt;element ref="{}AntennaDescription" minOccurs="0"/>
 *         &lt;element ref="{}AudioEncoding" maxOccurs="3" minOccurs="0"/>
 *         &lt;element ref="{}Language" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="LoadCapacity" type="{}WeightDimension" minOccurs="0"/>
 *         &lt;element ref="{}BaseLength" minOccurs="0"/>
 *         &lt;element ref="{}BaseWidth" minOccurs="0"/>
 *         &lt;element name="BatteryChargeCycles" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}BatteryCellType" minOccurs="0"/>
 *         &lt;element name="CableLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element ref="{}CalibrationTechnology" minOccurs="0"/>
 *         &lt;element ref="{}CameraDescription" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="CameraLens" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}ConnectorGender" maxOccurs="5" minOccurs="0"/>
 *         &lt;element ref="{}ConnectorTypeUsedOnCable" minOccurs="0"/>
 *         &lt;element ref="{}ControlType" minOccurs="0"/>
 *         &lt;element ref="{}ControllerType" minOccurs="0"/>
 *         &lt;element name="CoolingType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}ScreenDimensions" minOccurs="0"/>
 *         &lt;element ref="{}Efficiency" minOccurs="0"/>
 *         &lt;element name="NumberOfFans" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}FinishType" minOccurs="0"/>
 *         &lt;element ref="{}FitType" minOccurs="0"/>
 *         &lt;element ref="{}FrontPanelInputs" maxOccurs="3" minOccurs="0"/>
 *         &lt;element ref="{}HorizontalKeystoneCorrection" minOccurs="0"/>
 *         &lt;element ref="{}BuiltInMedia" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="ImageSensor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}IncludedFeatures" minOccurs="0"/>
 *         &lt;element ref="{}Shape" minOccurs="0"/>
 *         &lt;element name="Lens" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="LampWattage" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}MaximumSupportedScreenSize" minOccurs="0"/>
 *         &lt;element ref="{}ThrowRatio" minOccurs="0"/>
 *         &lt;element name="MaximumHorizontalRefreshRate" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element ref="{}SurgeProtectionRating" minOccurs="0"/>
 *         &lt;element name="MaximumThrowDistance" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaximumVerticalRefreshRate" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element ref="{}MaxWeightRecommendation" minOccurs="0"/>
 *         &lt;element ref="{}MediaLayers" minOccurs="0"/>
 *         &lt;element ref="{}MidRangeSpeakerMaterial" minOccurs="0"/>
 *         &lt;element ref="{}MidRangeSpeakerDiameter" minOccurs="0"/>
 *         &lt;element ref="{}MinFocalLength" minOccurs="0"/>
 *         &lt;element ref="{}MinimumSupportedScreenSize" minOccurs="0"/>
 *         &lt;element name="MinimumHorizontalRefreshRate" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element name="MinimumThrowDistance" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MinimumVerticalRefreshRate" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element ref="{}MountingPattern" minOccurs="0"/>
 *         &lt;element ref="{}MountingType" minOccurs="0"/>
 *         &lt;element ref="{}HeadphoneEarcupMotion" minOccurs="0"/>
 *         &lt;element ref="{}MountMotion" minOccurs="0"/>
 *         &lt;element ref="{}NoiseReductionLevel" minOccurs="0"/>
 *         &lt;element ref="{}NumberOfDrivers" minOccurs="0"/>
 *         &lt;element ref="{}SignalPassthroughTechnology" minOccurs="0"/>
 *         &lt;element name="LampLife" type="{}TimeIntegerDimension" minOccurs="0"/>
 *         &lt;element name="ImageDiagonalSize" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element ref="{}ParentalControlTechnology" minOccurs="0"/>
 *         &lt;element ref="{}MountBoltPattern" minOccurs="0"/>
 *         &lt;element ref="{}ProjectionMethod" minOccurs="0"/>
 *         &lt;element name="PhotoSensorSize" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PhotoSensorTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}AntennaLocation" minOccurs="0"/>
 *         &lt;element ref="{}Resolution" minOccurs="0"/>
 *         &lt;element ref="{}SVideoInputType" minOccurs="0"/>
 *         &lt;element ref="{}ScreenFinish" minOccurs="0"/>
 *         &lt;element ref="{}VideoShielded" minOccurs="0"/>
 *         &lt;element ref="{}VideoUpconversionTechnologies" minOccurs="0"/>
 *         &lt;element ref="{}NumberOfSpeakers" minOccurs="0"/>
 *         &lt;element ref="{}GrilleRemoveability" minOccurs="0"/>
 *         &lt;element ref="{}SpeakerGrilleMaterial" minOccurs="0"/>
 *         &lt;element ref="{}MaximumWattage" minOccurs="0"/>
 *         &lt;element ref="{}SubscriptionTermName" minOccurs="0"/>
 *         &lt;element ref="{}SubwooferWattage" minOccurs="0"/>
 *         &lt;element ref="{}SubwooferSpeakerMaterial" minOccurs="0"/>
 *         &lt;element ref="{}SubwooferSpeakerDiameter" minOccurs="0"/>
 *         &lt;element ref="{}SubwooferPowerTechnology" minOccurs="0"/>
 *         &lt;element ref="{}InternetApplications" maxOccurs="5" minOccurs="0"/>
 *         &lt;element ref="{}TotalCoaxialInputs" minOccurs="0"/>
 *         &lt;element ref="{}TotalComponentInPorts" minOccurs="0"/>
 *         &lt;element name="TotalCompositePorts" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}TotalEthernetPorts" minOccurs="0"/>
 *         &lt;element ref="{}TotalHdmiPorts" minOccurs="0"/>
 *         &lt;element ref="{}TotalPowerOutlets" minOccurs="0"/>
 *         &lt;element ref="{}TotalPreampOutputs" minOccurs="0"/>
 *         &lt;element ref="{}TotalSVideoInPorts" minOccurs="0"/>
 *         &lt;element ref="{}TotalSubwooferOutputs" minOccurs="0"/>
 *         &lt;element ref="{}TotalVgaInPorts" minOccurs="0"/>
 *         &lt;element ref="{}TotalVideoOutPorts" minOccurs="0"/>
 *         &lt;element ref="{}TrafficFeatures" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ScreenTrigger" type="{}VoltageDecimalDimension" minOccurs="0"/>
 *         &lt;element ref="{}TweeterSpeakerMaterial" minOccurs="0"/>
 *         &lt;element ref="{}TweeterSpeakerDiameter" minOccurs="0"/>
 *         &lt;element ref="{}TweeterSpeakerTechnology" minOccurs="0"/>
 *         &lt;element ref="{}UniversalRemoteCode" minOccurs="0"/>
 *         &lt;element ref="{}VerticalKeystoneCorrection" minOccurs="0"/>
 *         &lt;element ref="{}VideoEncoding" minOccurs="0"/>
 *         &lt;element name="VideoResolution" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element ref="{}WaterResistantDepth" minOccurs="0"/>
 *         &lt;element ref="{}WaterResistantLevel" minOccurs="0"/>
 *         &lt;element name="WirelessTechnology" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element ref="{}WooferSpeakerMaterial" minOccurs="0"/>
 *         &lt;element ref="{}WooferSpeakerDiameter" minOccurs="0"/>
 *         &lt;element name="ZoomRatio" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}ZoomType" minOccurs="0"/>
 *         &lt;element ref="{}AmplifierType" minOccurs="0"/>
 *         &lt;element ref="{}AnalogRGBInput" maxOccurs="5" minOccurs="0"/>
 *         &lt;element ref="{}BatteryPower" minOccurs="0"/>
 *         &lt;element ref="{}BluRayRegion" minOccurs="0"/>
 *         &lt;element ref="{}BoxContents" minOccurs="0"/>
 *         &lt;element ref="{}CameraFilmSpeed" minOccurs="0"/>
 *         &lt;element ref="{}CameraFlash" minOccurs="0"/>
 *         &lt;element ref="{}CoatingDescription" minOccurs="0"/>
 *         &lt;element ref="{}CompatibleMountings" minOccurs="0"/>
 *         &lt;element name="Conductor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}ContinuousShootingSpeed" minOccurs="0"/>
 *         &lt;element ref="{}DigitalZoom" minOccurs="0"/>
 *         &lt;element ref="{}DVDRegion" minOccurs="0"/>
 *         &lt;element ref="{}EffectiveStillResolution" minOccurs="0"/>
 *         &lt;element ref="{}FixedFocalLength" minOccurs="0"/>
 *         &lt;element ref="{}FlashDedication" minOccurs="0"/>
 *         &lt;element ref="{}FlashModesDescription" minOccurs="0"/>
 *         &lt;element ref="{}FocusType" minOccurs="0"/>
 *         &lt;element ref="{}GuideNumber" minOccurs="0"/>
 *         &lt;element ref="{}ImageStabilization" minOccurs="0"/>
 *         &lt;element ref="{}IsHotShoeIncluded" minOccurs="0"/>
 *         &lt;element ref="{}MaxAperture" minOccurs="0"/>
 *         &lt;element ref="{}MaxFocalLength" minOccurs="0"/>
 *         &lt;element ref="{}MaxShutterSpeed" minOccurs="0"/>
 *         &lt;element ref="{}MaxWeightCapacity" minOccurs="0"/>
 *         &lt;element ref="{}MinAperture" minOccurs="0"/>
 *         &lt;element ref="{}MinShutterSpeed" minOccurs="0"/>
 *         &lt;element ref="{}NumberOfHandsets" minOccurs="0"/>
 *         &lt;element ref="{}NumberOfRadioBandsSupported" minOccurs="0"/>
 *         &lt;element ref="{}NumberOfRecordingLoops" minOccurs="0"/>
 *         &lt;element ref="{}OpticalZoom" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterBayonetSize" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterDropInSize" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterEffectSize" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterLensSize" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterMountType" minOccurs="0"/>
 *         &lt;element ref="{}PhotoFilterThreadSize" minOccurs="0"/>
 *         &lt;element ref="{}PowerConsumption" minOccurs="0"/>
 *         &lt;element ref="{}PowerPlugType" minOccurs="0"/>
 *         &lt;element ref="{}RefreshRate" minOccurs="0"/>
 *         &lt;element name="RemoteControlDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RemovableMemory" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element ref="{}SpeakerMaximumInputPower" minOccurs="0"/>
 *         &lt;element name="TotalDVIPorts" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}TotalFirewirePorts" minOccurs="0"/>
 *         &lt;element ref="{}TotalMicrophonePorts" minOccurs="0"/>
 *         &lt;element name="TotalSVideoOutPorts" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element ref="{}TotalUSBPorts" minOccurs="0"/>
 *         &lt;element ref="{}TweeterConeMaterialType" minOccurs="0"/>
 *         &lt;element ref="{}TweeterDriverDiameter" minOccurs="0"/>
 *         &lt;element ref="{}ViewFinderType" minOccurs="0"/>
 *         &lt;element ref="{}WaypointsType" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "variationData",
    "audibleNoise",
    "color",
    "colorMap",
    "customerPackageType",
    "canShipInOriginalContainer",
    "enclosureFinish",
    "euEnergyLabelEfficiencyClass",
    "identityPackageType",
    "voltage",
    "wattage",
    "powerSource",
    "additionalFeatures",
    "vehicleSpeakerSize",
    "speakerDiameter",
    "telephoneType",
    "pdaBaseModel",
    "digitalMediaFormat",
    "homeAutomationCommunicationDevice",
    "digitalAudioCapacity",
    "videoProcessor",
    "holderCapacity",
    "memorySlotsAvailable",
    "processorBrand",
    "processorCount",
    "processorType",
    "processorSpeed",
    "ramSize",
    "screenResolution",
    "softwareIncluded",
    "colorScreen",
    "screenSize",
    "wirelessType",
    "hardDriveSize",
    "hardDriveInterface",
    "operatingSystem",
    "hardwarePlatform",
    "computerMemoryType",
    "itemPackageQuantity",
    "purchasingFeeRefSKU",
    "threeDTechnology",
    "biAmpable",
    "antennaDescription",
    "audioEncoding",
    "language",
    "loadCapacity",
    "baseLength",
    "baseWidth",
    "batteryChargeCycles",
    "batteryCellType",
    "cableLength",
    "calibrationTechnology",
    "cameraDescription",
    "cameraLens",
    "connectorGender",
    "connectorTypeUsedOnCable",
    "controlType",
    "controllerType",
    "coolingType",
    "screenDimensions",
    "efficiency",
    "numberOfFans",
    "finishType",
    "fitType",
    "frontPanelInputs",
    "horizontalKeystoneCorrection",
    "builtInMedia",
    "imageSensor",
    "includedFeatures",
    "shape",
    "lens",
    "lampWattage",
    "maximumSupportedScreenSize",
    "throwRatio",
    "maximumHorizontalRefreshRate",
    "surgeProtectionRating",
    "maximumThrowDistance",
    "maximumVerticalRefreshRate",
    "maxWeightRecommendation",
    "mediaLayers",
    "midRangeSpeakerMaterial",
    "midRangeSpeakerDiameter",
    "minFocalLength",
    "minimumSupportedScreenSize",
    "minimumHorizontalRefreshRate",
    "minimumThrowDistance",
    "minimumVerticalRefreshRate",
    "mountingPattern",
    "mountingType",
    "headphoneEarcupMotion",
    "mountMotion",
    "noiseReductionLevel",
    "numberOfDrivers",
    "signalPassthroughTechnology",
    "lampLife",
    "imageDiagonalSize",
    "parentalControlTechnology",
    "mountBoltPattern",
    "projectionMethod",
    "photoSensorSize",
    "photoSensorTechnology",
    "antennaLocation",
    "resolution",
    "sVideoInputType",
    "screenFinish",
    "videoShielded",
    "videoUpconversionTechnologies",
    "numberOfSpeakers",
    "grilleRemoveability",
    "speakerGrilleMaterial",
    "maximumWattage",
    "subscriptionTermName",
    "subwooferWattage",
    "subwooferSpeakerMaterial",
    "subwooferSpeakerDiameter",
    "subwooferPowerTechnology",
    "internetApplications",
    "totalCoaxialInputs",
    "totalComponentInPorts",
    "totalCompositePorts",
    "totalEthernetPorts",
    "totalHdmiPorts",
    "totalPowerOutlets",
    "totalPreampOutputs",
    "totalSVideoInPorts",
    "totalSubwooferOutputs",
    "totalVgaInPorts",
    "totalVideoOutPorts",
    "trafficFeatures",
    "screenTrigger",
    "tweeterSpeakerMaterial",
    "tweeterSpeakerDiameter",
    "tweeterSpeakerTechnology",
    "universalRemoteCode",
    "verticalKeystoneCorrection",
    "videoEncoding",
    "videoResolution",
    "waterResistantDepth",
    "waterResistantLevel",
    "wirelessTechnology",
    "wooferSpeakerMaterial",
    "wooferSpeakerDiameter",
    "zoomRatio",
    "zoomType",
    "amplifierType",
    "analogRGBInput",
    "batteryPower",
    "bluRayRegion",
    "boxContents",
    "cameraFilmSpeed",
    "cameraFlash",
    "coatingDescription",
    "compatibleMountings",
    "conductor",
    "continuousShootingSpeed",
    "digitalZoom",
    "dvdRegion",
    "effectiveStillResolution",
    "fixedFocalLength",
    "flashDedication",
    "flashModesDescription",
    "focusType",
    "guideNumber",
    "imageStabilization",
    "isHotShoeIncluded",
    "maxAperture",
    "maxFocalLength",
    "maxShutterSpeed",
    "maxWeightCapacity",
    "minAperture",
    "minShutterSpeed",
    "numberOfHandsets",
    "numberOfRadioBandsSupported",
    "numberOfRecordingLoops",
    "opticalZoom",
    "photoFilterBayonetSize",
    "photoFilterDropInSize",
    "photoFilterEffectSize",
    "photoFilterLensSize",
    "photoFilterMountType",
    "photoFilterThreadSize",
    "powerConsumption",
    "powerPlugType",
    "refreshRate",
    "remoteControlDescription",
    "removableMemory",
    "speakerMaximumInputPower",
    "totalDVIPorts",
    "totalFirewirePorts",
    "totalMicrophonePorts",
    "totalSVideoOutPorts",
    "totalUSBPorts",
    "tweeterConeMaterialType",
    "tweeterDriverDiameter",
    "viewFinderType",
    "waypointsType"
})
@XmlRootElement(name = "ConsumerElectronics")
public class ConsumerElectronics {

    @XmlElement(name = "VariationData")
    protected ConsumerElectronics.VariationData variationData;
    @XmlElement(name = "AudibleNoise")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger audibleNoise;
    @XmlElement(name = "Color")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String color;
    @XmlElement(name = "ColorMap")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String colorMap;
    @XmlElement(name = "CustomerPackageType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String customerPackageType;
    @XmlElement(name = "CanShipInOriginalContainer")
    protected Boolean canShipInOriginalContainer;
    @XmlElement(name = "EnclosureFinish")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String enclosureFinish;
    @XmlElement(name = "EuEnergyLabelEfficiencyClass")
    protected String euEnergyLabelEfficiencyClass;
    @XmlElement(name = "IdentityPackageType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String identityPackageType;
    @XmlElement(name = "Voltage")
    protected VoltageDecimalDimension voltage;
    @XmlElement(name = "Wattage")
    protected WattageIntegerDimension wattage;
    @XmlElement(name = "PowerSource")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String powerSource;
    @XmlElement(name = "AdditionalFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String additionalFeatures;
    @XmlElement(name = "VehicleSpeakerSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String vehicleSpeakerSize;
    @XmlElement(name = "SpeakerDiameter")
    protected LengthDimension speakerDiameter;
    @XmlElement(name = "TelephoneType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> telephoneType;
    @XmlElement(name = "PDABaseModel")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> pdaBaseModel;
    @XmlElement(name = "DigitalMediaFormat")
    protected String digitalMediaFormat;
    @XmlElement(name = "HomeAutomationCommunicationDevice")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String homeAutomationCommunicationDevice;
    @XmlElement(name = "DigitalAudioCapacity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String digitalAudioCapacity;
    @XmlElement(name = "VideoProcessor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoProcessor;
    @XmlElement(name = "HolderCapacity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String holderCapacity;
    @XmlElement(name = "MemorySlotsAvailable")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String memorySlotsAvailable;
    @XmlElement(name = "ProcessorBrand")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String processorBrand;
    @XmlElement(name = "ProcessorCount")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger processorCount;
    @XmlElement(name = "ProcessorType")
    protected String processorType;
    @XmlElement(name = "ProcessorSpeed")
    protected FrequencyDimension processorSpeed;
    @XmlElement(name = "RAMSize")
    protected MemorySizeDimension ramSize;
    @XmlElement(name = "ScreenResolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String screenResolution;
    @XmlElement(name = "SoftwareIncluded")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String softwareIncluded;
    @XmlElement(name = "ColorScreen")
    protected Boolean colorScreen;
    @XmlElement(name = "ScreenSize")
    protected LengthDimension screenSize;
    @XmlElement(name = "WirelessType")
    protected List<String> wirelessType;
    @XmlElement(name = "HardDriveSize")
    protected List<MemorySizeDimension> hardDriveSize;
    @XmlElement(name = "HardDriveInterface")
    protected List<HardDriveInterfaceTypeValues> hardDriveInterface;
    @XmlElement(name = "OperatingSystem")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> operatingSystem;
    @XmlElement(name = "HardwarePlatform")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String hardwarePlatform;
    @XmlElement(name = "ComputerMemoryType")
    protected List<String> computerMemoryType;
    @XmlElement(name = "ItemPackageQuantity")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger itemPackageQuantity;
    @XmlElement(name = "PurchasingFeeRefSKU")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String purchasingFeeRefSKU;
    @XmlElement(name = "ThreeDTechnology")
    protected ThreeDTechnologyValues threeDTechnology;
    @XmlElement(name = "BiAmpable")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String biAmpable;
    @XmlElement(name = "AntennaDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String antennaDescription;
    @XmlElement(name = "AudioEncoding")
    protected List<String> audioEncoding;
    @XmlElement(name = "Language")
    protected List<LanguageStringType> language;
    @XmlElement(name = "LoadCapacity")
    protected WeightDimension loadCapacity;
    @XmlElement(name = "BaseLength")
    protected LengthDimension baseLength;
    @XmlElement(name = "BaseWidth")
    protected LengthDimension baseWidth;
    @XmlElement(name = "BatteryChargeCycles")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger batteryChargeCycles;
    @XmlElement(name = "BatteryCellType")
    protected BatteryCellTypeValues batteryCellType;
    @XmlElement(name = "CableLength")
    protected LengthDimension cableLength;
    @XmlElement(name = "CalibrationTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String calibrationTechnology;
    @XmlElement(name = "CameraDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> cameraDescription;
    @XmlElement(name = "CameraLens")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cameraLens;
    @XmlElement(name = "ConnectorGender")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> connectorGender;
    @XmlElement(name = "ConnectorTypeUsedOnCable")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String connectorTypeUsedOnCable;
    @XmlElement(name = "ControlType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String controlType;
    @XmlElement(name = "ControllerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String controllerType;
    @XmlElement(name = "CoolingType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String coolingType;
    @XmlElement(name = "ScreenDimensions")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String screenDimensions;
    @XmlElement(name = "Efficiency")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String efficiency;
    @XmlElement(name = "NumberOfFans")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfFans;
    @XmlElement(name = "FinishType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String finishType;
    @XmlElement(name = "FitType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String fitType;
    @XmlElement(name = "FrontPanelInputs")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> frontPanelInputs;
    @XmlElement(name = "HorizontalKeystoneCorrection")
    protected LengthDimension horizontalKeystoneCorrection;
    @XmlElement(name = "BuiltInMedia")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> builtInMedia;
    @XmlElement(name = "ImageSensor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String imageSensor;
    @XmlElement(name = "IncludedFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String includedFeatures;
    @XmlElement(name = "Shape")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String shape;
    @XmlElement(name = "Lens")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String lens;
    @XmlElement(name = "LampWattage")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger lampWattage;
    @XmlElement(name = "MaximumSupportedScreenSize")
    protected LengthDimension maximumSupportedScreenSize;
    @XmlElement(name = "ThrowRatio")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String throwRatio;
    @XmlElement(name = "MaximumHorizontalRefreshRate")
    protected FrequencyDimension maximumHorizontalRefreshRate;
    @XmlElement(name = "SurgeProtectionRating")
    protected EnergyRatingType surgeProtectionRating;
    @XmlElement(name = "MaximumThrowDistance")
    protected LengthDimension maximumThrowDistance;
    @XmlElement(name = "MaximumVerticalRefreshRate")
    protected FrequencyDimension maximumVerticalRefreshRate;
    @XmlElement(name = "MaxWeightRecommendation")
    protected WeightDimension maxWeightRecommendation;
    @XmlElement(name = "MediaLayers")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger mediaLayers;
    @XmlElement(name = "MidRangeSpeakerMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String midRangeSpeakerMaterial;
    @XmlElement(name = "MidRangeSpeakerDiameter")
    protected LengthDimension midRangeSpeakerDiameter;
    @XmlElement(name = "MinFocalLength")
    protected LengthDimension minFocalLength;
    @XmlElement(name = "MinimumSupportedScreenSize")
    protected LengthDimension minimumSupportedScreenSize;
    @XmlElement(name = "MinimumHorizontalRefreshRate")
    protected FrequencyDimension minimumHorizontalRefreshRate;
    @XmlElement(name = "MinimumThrowDistance")
    protected LengthDimension minimumThrowDistance;
    @XmlElement(name = "MinimumVerticalRefreshRate")
    protected FrequencyDimension minimumVerticalRefreshRate;
    @XmlElement(name = "MountingPattern")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mountingPattern;
    @XmlElement(name = "MountingType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mountingType;
    @XmlElement(name = "HeadphoneEarcupMotion")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String headphoneEarcupMotion;
    @XmlElement(name = "MountMotion")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mountMotion;
    @XmlElement(name = "NoiseReductionLevel")
    protected BigDecimal noiseReductionLevel;
    @XmlElement(name = "NumberOfDrivers")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfDrivers;
    @XmlElement(name = "SignalPassthroughTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String signalPassthroughTechnology;
    @XmlElement(name = "LampLife")
    protected TimeIntegerDimension lampLife;
    @XmlElement(name = "ImageDiagonalSize")
    protected LengthDimension imageDiagonalSize;
    @XmlElement(name = "ParentalControlTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String parentalControlTechnology;
    @XmlElement(name = "MountBoltPattern")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mountBoltPattern;
    @XmlElement(name = "ProjectionMethod")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String projectionMethod;
    @XmlElement(name = "PhotoSensorSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoSensorSize;
    @XmlElement(name = "PhotoSensorTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoSensorTechnology;
    @XmlElement(name = "AntennaLocation")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String antennaLocation;
    @XmlElement(name = "Resolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String resolution;
    @XmlElement(name = "SVideoInputType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String sVideoInputType;
    @XmlElement(name = "ScreenFinish")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String screenFinish;
    @XmlElement(name = "VideoShielded")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoShielded;
    @XmlElement(name = "VideoUpconversionTechnologies")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoUpconversionTechnologies;
    @XmlElement(name = "NumberOfSpeakers")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfSpeakers;
    @XmlElement(name = "GrilleRemoveability")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String grilleRemoveability;
    @XmlElement(name = "SpeakerGrilleMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerGrilleMaterial;
    @XmlElement(name = "MaximumWattage")
    protected WattageDimension maximumWattage;
    @XmlElement(name = "SubscriptionTermName")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String subscriptionTermName;
    @XmlElement(name = "SubwooferWattage")
    protected WattageDimension subwooferWattage;
    @XmlElement(name = "SubwooferSpeakerMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String subwooferSpeakerMaterial;
    @XmlElement(name = "SubwooferSpeakerDiameter")
    protected LengthDimension subwooferSpeakerDiameter;
    @XmlElement(name = "SubwooferPowerTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String subwooferPowerTechnology;
    @XmlElement(name = "InternetApplications")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> internetApplications;
    @XmlElement(name = "TotalCoaxialInputs")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalCoaxialInputs;
    @XmlElement(name = "TotalComponentInPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalComponentInPorts;
    @XmlElement(name = "TotalCompositePorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalCompositePorts;
    @XmlElement(name = "TotalEthernetPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalEthernetPorts;
    @XmlElement(name = "TotalHdmiPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalHdmiPorts;
    @XmlElement(name = "TotalPowerOutlets")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalPowerOutlets;
    @XmlElement(name = "TotalPreampOutputs")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalPreampOutputs;
    @XmlElement(name = "TotalSVideoInPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalSVideoInPorts;
    @XmlElement(name = "TotalSubwooferOutputs")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalSubwooferOutputs;
    @XmlElement(name = "TotalVgaInPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalVgaInPorts;
    @XmlElement(name = "TotalVideoOutPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalVideoOutPorts;
    @XmlElement(name = "TrafficFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> trafficFeatures;
    @XmlElement(name = "ScreenTrigger")
    protected VoltageDecimalDimension screenTrigger;
    @XmlElement(name = "TweeterSpeakerMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String tweeterSpeakerMaterial;
    @XmlElement(name = "TweeterSpeakerDiameter")
    protected LengthDimension tweeterSpeakerDiameter;
    @XmlElement(name = "TweeterSpeakerTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String tweeterSpeakerTechnology;
    @XmlElement(name = "UniversalRemoteCode")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger universalRemoteCode;
    @XmlElement(name = "VerticalKeystoneCorrection")
    protected LengthDimension verticalKeystoneCorrection;
    @XmlElement(name = "VideoEncoding")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoEncoding;
    @XmlElement(name = "VideoResolution")
    protected PixelDimension videoResolution;
    @XmlElement(name = "WaterResistantDepth")
    protected LengthDimension waterResistantDepth;
    @XmlElement(name = "WaterResistantLevel")
    protected WaterResistantType waterResistantLevel;
    @XmlElement(name = "WirelessTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> wirelessTechnology;
    @XmlElement(name = "WooferSpeakerMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String wooferSpeakerMaterial;
    @XmlElement(name = "WooferSpeakerDiameter")
    protected LengthDimension wooferSpeakerDiameter;
    @XmlElement(name = "ZoomRatio")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String zoomRatio;
    @XmlElement(name = "ZoomType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String zoomType;
    @XmlElement(name = "AmplifierType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String amplifierType;
    @XmlElement(name = "AnalogRGBInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> analogRGBInput;
    @XmlElement(name = "BatteryPower")
    protected BatteryPowerIntegerDimension batteryPower;
    @XmlElement(name = "BluRayRegion")
    protected BluRayRegionType bluRayRegion;
    @XmlElement(name = "BoxContents")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String boxContents;
    @XmlElement(name = "CameraFilmSpeed")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger cameraFilmSpeed;
    @XmlElement(name = "CameraFlash")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cameraFlash;
    @XmlElement(name = "CoatingDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String coatingDescription;
    @XmlElement(name = "CompatibleMountings")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String compatibleMountings;
    @XmlElement(name = "Conductor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String conductor;
    @XmlElement(name = "ContinuousShootingSpeed")
    protected ContinuousShootingDimension continuousShootingSpeed;
    @XmlElement(name = "DigitalZoom")
    protected ZoomDimension digitalZoom;
    @XmlElement(name = "DVDRegion")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger dvdRegion;
    @XmlElement(name = "EffectiveStillResolution")
    protected ResolutionDimension effectiveStillResolution;
    @XmlElement(name = "FixedFocalLength")
    protected LengthDimension fixedFocalLength;
    @XmlElement(name = "FlashDedication")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String flashDedication;
    @XmlElement(name = "FlashModesDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String flashModesDescription;
    @XmlElement(name = "FocusType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String focusType;
    @XmlElement(name = "GuideNumber")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String guideNumber;
    @XmlElement(name = "ImageStabilization")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String imageStabilization;
    @XmlElement(name = "IsHotShoeIncluded")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String isHotShoeIncluded;
    @XmlElement(name = "MaxAperture")
    protected ApertureDimension maxAperture;
    @XmlElement(name = "MaxFocalLength")
    protected LengthDimension maxFocalLength;
    @XmlElement(name = "MaxShutterSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String maxShutterSpeed;
    @XmlElement(name = "MaxWeightCapacity")
    protected WeightDimension maxWeightCapacity;
    @XmlElement(name = "MinAperture")
    protected ApertureDimension minAperture;
    @XmlElement(name = "MinShutterSpeed")
    protected BigDecimal minShutterSpeed;
    @XmlElement(name = "NumberOfHandsets")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfHandsets;
    @XmlElement(name = "NumberOfRadioBandsSupported")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfRadioBandsSupported;
    @XmlElement(name = "NumberOfRecordingLoops")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfRecordingLoops;
    @XmlElement(name = "OpticalZoom")
    protected ZoomDimension opticalZoom;
    @XmlElement(name = "PhotoFilterBayonetSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoFilterBayonetSize;
    @XmlElement(name = "PhotoFilterDropInSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoFilterDropInSize;
    @XmlElement(name = "PhotoFilterEffectSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoFilterEffectSize;
    @XmlElement(name = "PhotoFilterLensSize")
    protected LengthDimension photoFilterLensSize;
    @XmlElement(name = "PhotoFilterMountType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String photoFilterMountType;
    @XmlElement(name = "PhotoFilterThreadSize")
    protected LengthDimension photoFilterThreadSize;
    @XmlElement(name = "PowerConsumption")
    protected PowerDimension powerConsumption;
    @XmlElement(name = "PowerPlugType")
    protected PowerPlugType powerPlugType;
    @XmlElement(name = "RefreshRate")
    protected FrequencyDimension refreshRate;
    @XmlElement(name = "RemoteControlDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String remoteControlDescription;
    @XmlElement(name = "RemovableMemory")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String removableMemory;
    @XmlElement(name = "SpeakerMaximumInputPower")
    protected PowerDimension speakerMaximumInputPower;
    @XmlElement(name = "TotalDVIPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalDVIPorts;
    @XmlElement(name = "TotalFirewirePorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalFirewirePorts;
    @XmlElement(name = "TotalMicrophonePorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalMicrophonePorts;
    @XmlElement(name = "TotalSVideoOutPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalSVideoOutPorts;
    @XmlElement(name = "TotalUSBPorts")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger totalUSBPorts;
    @XmlElement(name = "TweeterConeMaterialType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String tweeterConeMaterialType;
    @XmlElement(name = "TweeterDriverDiameter")
    protected LengthDimension tweeterDriverDiameter;
    @XmlElement(name = "ViewFinderType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String viewFinderType;
    @XmlElement(name = "WaypointsType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String waypointsType;

    /**
     * Gets the value of the variationData property.
     * 
     * @return
     *     possible object is
     *     {@link ConsumerElectronics.VariationData }
     *     
     */
    public ConsumerElectronics.VariationData getVariationData() {
        return variationData;
    }

    /**
     * Sets the value of the variationData property.
     * 
     * @param value
     *     allowed object is
     *     {@link ConsumerElectronics.VariationData }
     *     
     */
    public void setVariationData(ConsumerElectronics.VariationData value) {
        this.variationData = value;
    }

    /**
     * Gets the value of the audibleNoise property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getAudibleNoise() {
        return audibleNoise;
    }

    /**
     * Sets the value of the audibleNoise property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setAudibleNoise(BigInteger value) {
        this.audibleNoise = value;
    }

    /**
     * Gets the value of the color property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColor() {
        return color;
    }

    /**
     * Sets the value of the color property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColor(String value) {
        this.color = value;
    }

    /**
     * Gets the value of the colorMap property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColorMap() {
        return colorMap;
    }

    /**
     * Sets the value of the colorMap property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColorMap(String value) {
        this.colorMap = value;
    }

    /**
     * Gets the value of the customerPackageType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCustomerPackageType() {
        return customerPackageType;
    }

    /**
     * Sets the value of the customerPackageType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCustomerPackageType(String value) {
        this.customerPackageType = value;
    }

    /**
     * Gets the value of the canShipInOriginalContainer property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isCanShipInOriginalContainer() {
        return canShipInOriginalContainer;
    }

    /**
     * Sets the value of the canShipInOriginalContainer property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setCanShipInOriginalContainer(Boolean value) {
        this.canShipInOriginalContainer = value;
    }

    /**
     * Gets the value of the enclosureFinish property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEnclosureFinish() {
        return enclosureFinish;
    }

    /**
     * Sets the value of the enclosureFinish property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEnclosureFinish(String value) {
        this.enclosureFinish = value;
    }

    /**
     * Gets the value of the euEnergyLabelEfficiencyClass property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEuEnergyLabelEfficiencyClass() {
        return euEnergyLabelEfficiencyClass;
    }

    /**
     * Sets the value of the euEnergyLabelEfficiencyClass property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEuEnergyLabelEfficiencyClass(String value) {
        this.euEnergyLabelEfficiencyClass = value;
    }

    /**
     * Gets the value of the identityPackageType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIdentityPackageType() {
        return identityPackageType;
    }

    /**
     * Sets the value of the identityPackageType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIdentityPackageType(String value) {
        this.identityPackageType = value;
    }

    /**
     * Gets the value of the voltage property.
     * 
     * @return
     *     possible object is
     *     {@link VoltageDecimalDimension }
     *     
     */
    public VoltageDecimalDimension getVoltage() {
        return voltage;
    }

    /**
     * Sets the value of the voltage property.
     * 
     * @param value
     *     allowed object is
     *     {@link VoltageDecimalDimension }
     *     
     */
    public void setVoltage(VoltageDecimalDimension value) {
        this.voltage = value;
    }

    /**
     * Gets the value of the wattage property.
     * 
     * @return
     *     possible object is
     *     {@link WattageIntegerDimension }
     *     
     */
    public WattageIntegerDimension getWattage() {
        return wattage;
    }

    /**
     * Sets the value of the wattage property.
     * 
     * @param value
     *     allowed object is
     *     {@link WattageIntegerDimension }
     *     
     */
    public void setWattage(WattageIntegerDimension value) {
        this.wattage = value;
    }

    /**
     * Gets the value of the powerSource property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPowerSource() {
        return powerSource;
    }

    /**
     * Sets the value of the powerSource property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPowerSource(String value) {
        this.powerSource = value;
    }

    /**
     * Gets the value of the additionalFeatures property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAdditionalFeatures() {
        return additionalFeatures;
    }

    /**
     * Sets the value of the additionalFeatures property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAdditionalFeatures(String value) {
        this.additionalFeatures = value;
    }

    /**
     * Gets the value of the vehicleSpeakerSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVehicleSpeakerSize() {
        return vehicleSpeakerSize;
    }

    /**
     * Sets the value of the vehicleSpeakerSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVehicleSpeakerSize(String value) {
        this.vehicleSpeakerSize = value;
    }

    /**
     * Gets the value of the speakerDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getSpeakerDiameter() {
        return speakerDiameter;
    }

    /**
     * Sets the value of the speakerDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setSpeakerDiameter(LengthDimension value) {
        this.speakerDiameter = value;
    }

    /**
     * Gets the value of the telephoneType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the telephoneType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getTelephoneType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getTelephoneType() {
        if (telephoneType == null) {
            telephoneType = new ArrayList<String>();
        }
        return this.telephoneType;
    }

    /**
     * Gets the value of the pdaBaseModel property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the pdaBaseModel property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPDABaseModel().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getPDABaseModel() {
        if (pdaBaseModel == null) {
            pdaBaseModel = new ArrayList<String>();
        }
        return this.pdaBaseModel;
    }

    /**
     * Gets the value of the digitalMediaFormat property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDigitalMediaFormat() {
        return digitalMediaFormat;
    }

    /**
     * Sets the value of the digitalMediaFormat property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDigitalMediaFormat(String value) {
        this.digitalMediaFormat = value;
    }

    /**
     * Gets the value of the homeAutomationCommunicationDevice property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHomeAutomationCommunicationDevice() {
        return homeAutomationCommunicationDevice;
    }

    /**
     * Sets the value of the homeAutomationCommunicationDevice property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHomeAutomationCommunicationDevice(String value) {
        this.homeAutomationCommunicationDevice = value;
    }

    /**
     * Gets the value of the digitalAudioCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDigitalAudioCapacity() {
        return digitalAudioCapacity;
    }

    /**
     * Sets the value of the digitalAudioCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDigitalAudioCapacity(String value) {
        this.digitalAudioCapacity = value;
    }

    /**
     * Gets the value of the videoProcessor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoProcessor() {
        return videoProcessor;
    }

    /**
     * Sets the value of the videoProcessor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoProcessor(String value) {
        this.videoProcessor = value;
    }

    /**
     * Gets the value of the holderCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHolderCapacity() {
        return holderCapacity;
    }

    /**
     * Sets the value of the holderCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHolderCapacity(String value) {
        this.holderCapacity = value;
    }

    /**
     * Gets the value of the memorySlotsAvailable property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMemorySlotsAvailable() {
        return memorySlotsAvailable;
    }

    /**
     * Sets the value of the memorySlotsAvailable property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMemorySlotsAvailable(String value) {
        this.memorySlotsAvailable = value;
    }

    /**
     * Gets the value of the processorBrand property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProcessorBrand() {
        return processorBrand;
    }

    /**
     * Sets the value of the processorBrand property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProcessorBrand(String value) {
        this.processorBrand = value;
    }

    /**
     * Gets the value of the processorCount property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getProcessorCount() {
        return processorCount;
    }

    /**
     * Sets the value of the processorCount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setProcessorCount(BigInteger value) {
        this.processorCount = value;
    }

    /**
     * Gets the value of the processorType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProcessorType() {
        return processorType;
    }

    /**
     * Sets the value of the processorType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProcessorType(String value) {
        this.processorType = value;
    }

    /**
     * Gets the value of the processorSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getProcessorSpeed() {
        return processorSpeed;
    }

    /**
     * Sets the value of the processorSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setProcessorSpeed(FrequencyDimension value) {
        this.processorSpeed = value;
    }

    /**
     * Gets the value of the ramSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRAMSize() {
        return ramSize;
    }

    /**
     * Sets the value of the ramSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRAMSize(MemorySizeDimension value) {
        this.ramSize = value;
    }

    /**
     * Gets the value of the screenResolution property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScreenResolution() {
        return screenResolution;
    }

    /**
     * Sets the value of the screenResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScreenResolution(String value) {
        this.screenResolution = value;
    }

    /**
     * Gets the value of the softwareIncluded property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSoftwareIncluded() {
        return softwareIncluded;
    }

    /**
     * Sets the value of the softwareIncluded property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSoftwareIncluded(String value) {
        this.softwareIncluded = value;
    }

    /**
     * Gets the value of the colorScreen property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isColorScreen() {
        return colorScreen;
    }

    /**
     * Sets the value of the colorScreen property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setColorScreen(Boolean value) {
        this.colorScreen = value;
    }

    /**
     * Gets the value of the screenSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getScreenSize() {
        return screenSize;
    }

    /**
     * Sets the value of the screenSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setScreenSize(LengthDimension value) {
        this.screenSize = value;
    }

    /**
     * Gets the value of the wirelessType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the wirelessType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getWirelessType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getWirelessType() {
        if (wirelessType == null) {
            wirelessType = new ArrayList<String>();
        }
        return this.wirelessType;
    }

    /**
     * Gets the value of the hardDriveSize property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the hardDriveSize property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHardDriveSize().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link MemorySizeDimension }
     * 
     * 
     */
    public List<MemorySizeDimension> getHardDriveSize() {
        if (hardDriveSize == null) {
            hardDriveSize = new ArrayList<MemorySizeDimension>();
        }
        return this.hardDriveSize;
    }

    /**
     * Gets the value of the hardDriveInterface property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the hardDriveInterface property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHardDriveInterface().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link HardDriveInterfaceTypeValues }
     * 
     * 
     */
    public List<HardDriveInterfaceTypeValues> getHardDriveInterface() {
        if (hardDriveInterface == null) {
            hardDriveInterface = new ArrayList<HardDriveInterfaceTypeValues>();
        }
        return this.hardDriveInterface;
    }

    /**
     * Gets the value of the operatingSystem property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the operatingSystem property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOperatingSystem().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getOperatingSystem() {
        if (operatingSystem == null) {
            operatingSystem = new ArrayList<String>();
        }
        return this.operatingSystem;
    }

    /**
     * Gets the value of the hardwarePlatform property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHardwarePlatform() {
        return hardwarePlatform;
    }

    /**
     * Sets the value of the hardwarePlatform property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHardwarePlatform(String value) {
        this.hardwarePlatform = value;
    }

    /**
     * Gets the value of the computerMemoryType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the computerMemoryType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getComputerMemoryType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getComputerMemoryType() {
        if (computerMemoryType == null) {
            computerMemoryType = new ArrayList<String>();
        }
        return this.computerMemoryType;
    }

    /**
     * Gets the value of the itemPackageQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getItemPackageQuantity() {
        return itemPackageQuantity;
    }

    /**
     * Sets the value of the itemPackageQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setItemPackageQuantity(BigInteger value) {
        this.itemPackageQuantity = value;
    }

    /**
     * Gets the value of the purchasingFeeRefSKU property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPurchasingFeeRefSKU() {
        return purchasingFeeRefSKU;
    }

    /**
     * Sets the value of the purchasingFeeRefSKU property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPurchasingFeeRefSKU(String value) {
        this.purchasingFeeRefSKU = value;
    }

    /**
     * Gets the value of the threeDTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link ThreeDTechnologyValues }
     *     
     */
    public ThreeDTechnologyValues getThreeDTechnology() {
        return threeDTechnology;
    }

    /**
     * Sets the value of the threeDTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link ThreeDTechnologyValues }
     *     
     */
    public void setThreeDTechnology(ThreeDTechnologyValues value) {
        this.threeDTechnology = value;
    }

    /**
     * Gets the value of the biAmpable property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBiAmpable() {
        return biAmpable;
    }

    /**
     * Sets the value of the biAmpable property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBiAmpable(String value) {
        this.biAmpable = value;
    }

    /**
     * Gets the value of the antennaDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAntennaDescription() {
        return antennaDescription;
    }

    /**
     * Sets the value of the antennaDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAntennaDescription(String value) {
        this.antennaDescription = value;
    }

    /**
     * Gets the value of the audioEncoding property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the audioEncoding property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAudioEncoding().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAudioEncoding() {
        if (audioEncoding == null) {
            audioEncoding = new ArrayList<String>();
        }
        return this.audioEncoding;
    }

    /**
     * Gets the value of the language property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the language property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getLanguage().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link LanguageStringType }
     * 
     * 
     */
    public List<LanguageStringType> getLanguage() {
        if (language == null) {
            language = new ArrayList<LanguageStringType>();
        }
        return this.language;
    }

    /**
     * Gets the value of the loadCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getLoadCapacity() {
        return loadCapacity;
    }

    /**
     * Sets the value of the loadCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setLoadCapacity(WeightDimension value) {
        this.loadCapacity = value;
    }

    /**
     * Gets the value of the baseLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getBaseLength() {
        return baseLength;
    }

    /**
     * Sets the value of the baseLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setBaseLength(LengthDimension value) {
        this.baseLength = value;
    }

    /**
     * Gets the value of the baseWidth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getBaseWidth() {
        return baseWidth;
    }

    /**
     * Sets the value of the baseWidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setBaseWidth(LengthDimension value) {
        this.baseWidth = value;
    }

    /**
     * Gets the value of the batteryChargeCycles property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getBatteryChargeCycles() {
        return batteryChargeCycles;
    }

    /**
     * Sets the value of the batteryChargeCycles property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setBatteryChargeCycles(BigInteger value) {
        this.batteryChargeCycles = value;
    }

    /**
     * Gets the value of the batteryCellType property.
     * 
     * @return
     *     possible object is
     *     {@link BatteryCellTypeValues }
     *     
     */
    public BatteryCellTypeValues getBatteryCellType() {
        return batteryCellType;
    }

    /**
     * Sets the value of the batteryCellType property.
     * 
     * @param value
     *     allowed object is
     *     {@link BatteryCellTypeValues }
     *     
     */
    public void setBatteryCellType(BatteryCellTypeValues value) {
        this.batteryCellType = value;
    }

    /**
     * Gets the value of the cableLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getCableLength() {
        return cableLength;
    }

    /**
     * Sets the value of the cableLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setCableLength(LengthDimension value) {
        this.cableLength = value;
    }

    /**
     * Gets the value of the calibrationTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCalibrationTechnology() {
        return calibrationTechnology;
    }

    /**
     * Sets the value of the calibrationTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCalibrationTechnology(String value) {
        this.calibrationTechnology = value;
    }

    /**
     * Gets the value of the cameraDescription property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the cameraDescription property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCameraDescription().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCameraDescription() {
        if (cameraDescription == null) {
            cameraDescription = new ArrayList<String>();
        }
        return this.cameraDescription;
    }

    /**
     * Gets the value of the cameraLens property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCameraLens() {
        return cameraLens;
    }

    /**
     * Sets the value of the cameraLens property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCameraLens(String value) {
        this.cameraLens = value;
    }

    /**
     * Gets the value of the connectorGender property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the connectorGender property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getConnectorGender().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getConnectorGender() {
        if (connectorGender == null) {
            connectorGender = new ArrayList<String>();
        }
        return this.connectorGender;
    }

    /**
     * Gets the value of the connectorTypeUsedOnCable property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getConnectorTypeUsedOnCable() {
        return connectorTypeUsedOnCable;
    }

    /**
     * Sets the value of the connectorTypeUsedOnCable property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setConnectorTypeUsedOnCable(String value) {
        this.connectorTypeUsedOnCable = value;
    }

    /**
     * Gets the value of the controlType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getControlType() {
        return controlType;
    }

    /**
     * Sets the value of the controlType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setControlType(String value) {
        this.controlType = value;
    }

    /**
     * Gets the value of the controllerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getControllerType() {
        return controllerType;
    }

    /**
     * Sets the value of the controllerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setControllerType(String value) {
        this.controllerType = value;
    }

    /**
     * Gets the value of the coolingType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCoolingType() {
        return coolingType;
    }

    /**
     * Sets the value of the coolingType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCoolingType(String value) {
        this.coolingType = value;
    }

    /**
     * Gets the value of the screenDimensions property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScreenDimensions() {
        return screenDimensions;
    }

    /**
     * Sets the value of the screenDimensions property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScreenDimensions(String value) {
        this.screenDimensions = value;
    }

    /**
     * Gets the value of the efficiency property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEfficiency() {
        return efficiency;
    }

    /**
     * Sets the value of the efficiency property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEfficiency(String value) {
        this.efficiency = value;
    }

    /**
     * Gets the value of the numberOfFans property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfFans() {
        return numberOfFans;
    }

    /**
     * Sets the value of the numberOfFans property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfFans(BigInteger value) {
        this.numberOfFans = value;
    }

    /**
     * Gets the value of the finishType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFinishType() {
        return finishType;
    }

    /**
     * Sets the value of the finishType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFinishType(String value) {
        this.finishType = value;
    }

    /**
     * Gets the value of the fitType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFitType() {
        return fitType;
    }

    /**
     * Sets the value of the fitType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFitType(String value) {
        this.fitType = value;
    }

    /**
     * Gets the value of the frontPanelInputs property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the frontPanelInputs property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFrontPanelInputs().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getFrontPanelInputs() {
        if (frontPanelInputs == null) {
            frontPanelInputs = new ArrayList<String>();
        }
        return this.frontPanelInputs;
    }

    /**
     * Gets the value of the horizontalKeystoneCorrection property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getHorizontalKeystoneCorrection() {
        return horizontalKeystoneCorrection;
    }

    /**
     * Sets the value of the horizontalKeystoneCorrection property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setHorizontalKeystoneCorrection(LengthDimension value) {
        this.horizontalKeystoneCorrection = value;
    }

    /**
     * Gets the value of the builtInMedia property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the builtInMedia property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getBuiltInMedia().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getBuiltInMedia() {
        if (builtInMedia == null) {
            builtInMedia = new ArrayList<String>();
        }
        return this.builtInMedia;
    }

    /**
     * Gets the value of the imageSensor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getImageSensor() {
        return imageSensor;
    }

    /**
     * Sets the value of the imageSensor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setImageSensor(String value) {
        this.imageSensor = value;
    }

    /**
     * Gets the value of the includedFeatures property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIncludedFeatures() {
        return includedFeatures;
    }

    /**
     * Sets the value of the includedFeatures property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIncludedFeatures(String value) {
        this.includedFeatures = value;
    }

    /**
     * Gets the value of the shape property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getShape() {
        return shape;
    }

    /**
     * Sets the value of the shape property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setShape(String value) {
        this.shape = value;
    }

    /**
     * Gets the value of the lens property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLens() {
        return lens;
    }

    /**
     * Sets the value of the lens property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLens(String value) {
        this.lens = value;
    }

    /**
     * Gets the value of the lampWattage property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getLampWattage() {
        return lampWattage;
    }

    /**
     * Sets the value of the lampWattage property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setLampWattage(BigInteger value) {
        this.lampWattage = value;
    }

    /**
     * Gets the value of the maximumSupportedScreenSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumSupportedScreenSize() {
        return maximumSupportedScreenSize;
    }

    /**
     * Sets the value of the maximumSupportedScreenSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumSupportedScreenSize(LengthDimension value) {
        this.maximumSupportedScreenSize = value;
    }

    /**
     * Gets the value of the throwRatio property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getThrowRatio() {
        return throwRatio;
    }

    /**
     * Sets the value of the throwRatio property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setThrowRatio(String value) {
        this.throwRatio = value;
    }

    /**
     * Gets the value of the maximumHorizontalRefreshRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getMaximumHorizontalRefreshRate() {
        return maximumHorizontalRefreshRate;
    }

    /**
     * Sets the value of the maximumHorizontalRefreshRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setMaximumHorizontalRefreshRate(FrequencyDimension value) {
        this.maximumHorizontalRefreshRate = value;
    }

    /**
     * Gets the value of the surgeProtectionRating property.
     * 
     * @return
     *     possible object is
     *     {@link EnergyRatingType }
     *     
     */
    public EnergyRatingType getSurgeProtectionRating() {
        return surgeProtectionRating;
    }

    /**
     * Sets the value of the surgeProtectionRating property.
     * 
     * @param value
     *     allowed object is
     *     {@link EnergyRatingType }
     *     
     */
    public void setSurgeProtectionRating(EnergyRatingType value) {
        this.surgeProtectionRating = value;
    }

    /**
     * Gets the value of the maximumThrowDistance property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumThrowDistance() {
        return maximumThrowDistance;
    }

    /**
     * Sets the value of the maximumThrowDistance property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumThrowDistance(LengthDimension value) {
        this.maximumThrowDistance = value;
    }

    /**
     * Gets the value of the maximumVerticalRefreshRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getMaximumVerticalRefreshRate() {
        return maximumVerticalRefreshRate;
    }

    /**
     * Sets the value of the maximumVerticalRefreshRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setMaximumVerticalRefreshRate(FrequencyDimension value) {
        this.maximumVerticalRefreshRate = value;
    }

    /**
     * Gets the value of the maxWeightRecommendation property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getMaxWeightRecommendation() {
        return maxWeightRecommendation;
    }

    /**
     * Sets the value of the maxWeightRecommendation property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setMaxWeightRecommendation(WeightDimension value) {
        this.maxWeightRecommendation = value;
    }

    /**
     * Gets the value of the mediaLayers property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getMediaLayers() {
        return mediaLayers;
    }

    /**
     * Sets the value of the mediaLayers property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setMediaLayers(BigInteger value) {
        this.mediaLayers = value;
    }

    /**
     * Gets the value of the midRangeSpeakerMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMidRangeSpeakerMaterial() {
        return midRangeSpeakerMaterial;
    }

    /**
     * Sets the value of the midRangeSpeakerMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMidRangeSpeakerMaterial(String value) {
        this.midRangeSpeakerMaterial = value;
    }

    /**
     * Gets the value of the midRangeSpeakerDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMidRangeSpeakerDiameter() {
        return midRangeSpeakerDiameter;
    }

    /**
     * Sets the value of the midRangeSpeakerDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMidRangeSpeakerDiameter(LengthDimension value) {
        this.midRangeSpeakerDiameter = value;
    }

    /**
     * Gets the value of the minFocalLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMinFocalLength() {
        return minFocalLength;
    }

    /**
     * Sets the value of the minFocalLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMinFocalLength(LengthDimension value) {
        this.minFocalLength = value;
    }

    /**
     * Gets the value of the minimumSupportedScreenSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMinimumSupportedScreenSize() {
        return minimumSupportedScreenSize;
    }

    /**
     * Sets the value of the minimumSupportedScreenSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMinimumSupportedScreenSize(LengthDimension value) {
        this.minimumSupportedScreenSize = value;
    }

    /**
     * Gets the value of the minimumHorizontalRefreshRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getMinimumHorizontalRefreshRate() {
        return minimumHorizontalRefreshRate;
    }

    /**
     * Sets the value of the minimumHorizontalRefreshRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setMinimumHorizontalRefreshRate(FrequencyDimension value) {
        this.minimumHorizontalRefreshRate = value;
    }

    /**
     * Gets the value of the minimumThrowDistance property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMinimumThrowDistance() {
        return minimumThrowDistance;
    }

    /**
     * Sets the value of the minimumThrowDistance property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMinimumThrowDistance(LengthDimension value) {
        this.minimumThrowDistance = value;
    }

    /**
     * Gets the value of the minimumVerticalRefreshRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getMinimumVerticalRefreshRate() {
        return minimumVerticalRefreshRate;
    }

    /**
     * Sets the value of the minimumVerticalRefreshRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setMinimumVerticalRefreshRate(FrequencyDimension value) {
        this.minimumVerticalRefreshRate = value;
    }

    /**
     * Gets the value of the mountingPattern property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMountingPattern() {
        return mountingPattern;
    }

    /**
     * Sets the value of the mountingPattern property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMountingPattern(String value) {
        this.mountingPattern = value;
    }

    /**
     * Gets the value of the mountingType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMountingType() {
        return mountingType;
    }

    /**
     * Sets the value of the mountingType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMountingType(String value) {
        this.mountingType = value;
    }

    /**
     * Gets the value of the headphoneEarcupMotion property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHeadphoneEarcupMotion() {
        return headphoneEarcupMotion;
    }

    /**
     * Sets the value of the headphoneEarcupMotion property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHeadphoneEarcupMotion(String value) {
        this.headphoneEarcupMotion = value;
    }

    /**
     * Gets the value of the mountMotion property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMountMotion() {
        return mountMotion;
    }

    /**
     * Sets the value of the mountMotion property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMountMotion(String value) {
        this.mountMotion = value;
    }

    /**
     * Gets the value of the noiseReductionLevel property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getNoiseReductionLevel() {
        return noiseReductionLevel;
    }

    /**
     * Sets the value of the noiseReductionLevel property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setNoiseReductionLevel(BigDecimal value) {
        this.noiseReductionLevel = value;
    }

    /**
     * Gets the value of the numberOfDrivers property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfDrivers() {
        return numberOfDrivers;
    }

    /**
     * Sets the value of the numberOfDrivers property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfDrivers(BigInteger value) {
        this.numberOfDrivers = value;
    }

    /**
     * Gets the value of the signalPassthroughTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSignalPassthroughTechnology() {
        return signalPassthroughTechnology;
    }

    /**
     * Sets the value of the signalPassthroughTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSignalPassthroughTechnology(String value) {
        this.signalPassthroughTechnology = value;
    }

    /**
     * Gets the value of the lampLife property.
     * 
     * @return
     *     possible object is
     *     {@link TimeIntegerDimension }
     *     
     */
    public TimeIntegerDimension getLampLife() {
        return lampLife;
    }

    /**
     * Sets the value of the lampLife property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeIntegerDimension }
     *     
     */
    public void setLampLife(TimeIntegerDimension value) {
        this.lampLife = value;
    }

    /**
     * Gets the value of the imageDiagonalSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getImageDiagonalSize() {
        return imageDiagonalSize;
    }

    /**
     * Sets the value of the imageDiagonalSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setImageDiagonalSize(LengthDimension value) {
        this.imageDiagonalSize = value;
    }

    /**
     * Gets the value of the parentalControlTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getParentalControlTechnology() {
        return parentalControlTechnology;
    }

    /**
     * Sets the value of the parentalControlTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setParentalControlTechnology(String value) {
        this.parentalControlTechnology = value;
    }

    /**
     * Gets the value of the mountBoltPattern property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMountBoltPattern() {
        return mountBoltPattern;
    }

    /**
     * Sets the value of the mountBoltPattern property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMountBoltPattern(String value) {
        this.mountBoltPattern = value;
    }

    /**
     * Gets the value of the projectionMethod property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProjectionMethod() {
        return projectionMethod;
    }

    /**
     * Sets the value of the projectionMethod property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProjectionMethod(String value) {
        this.projectionMethod = value;
    }

    /**
     * Gets the value of the photoSensorSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoSensorSize() {
        return photoSensorSize;
    }

    /**
     * Sets the value of the photoSensorSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoSensorSize(String value) {
        this.photoSensorSize = value;
    }

    /**
     * Gets the value of the photoSensorTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoSensorTechnology() {
        return photoSensorTechnology;
    }

    /**
     * Sets the value of the photoSensorTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoSensorTechnology(String value) {
        this.photoSensorTechnology = value;
    }

    /**
     * Gets the value of the antennaLocation property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAntennaLocation() {
        return antennaLocation;
    }

    /**
     * Sets the value of the antennaLocation property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAntennaLocation(String value) {
        this.antennaLocation = value;
    }

    /**
     * Gets the value of the resolution property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getResolution() {
        return resolution;
    }

    /**
     * Sets the value of the resolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setResolution(String value) {
        this.resolution = value;
    }

    /**
     * Gets the value of the sVideoInputType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSVideoInputType() {
        return sVideoInputType;
    }

    /**
     * Sets the value of the sVideoInputType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSVideoInputType(String value) {
        this.sVideoInputType = value;
    }

    /**
     * Gets the value of the screenFinish property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScreenFinish() {
        return screenFinish;
    }

    /**
     * Sets the value of the screenFinish property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScreenFinish(String value) {
        this.screenFinish = value;
    }

    /**
     * Gets the value of the videoShielded property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoShielded() {
        return videoShielded;
    }

    /**
     * Sets the value of the videoShielded property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoShielded(String value) {
        this.videoShielded = value;
    }

    /**
     * Gets the value of the videoUpconversionTechnologies property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoUpconversionTechnologies() {
        return videoUpconversionTechnologies;
    }

    /**
     * Sets the value of the videoUpconversionTechnologies property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoUpconversionTechnologies(String value) {
        this.videoUpconversionTechnologies = value;
    }

    /**
     * Gets the value of the numberOfSpeakers property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfSpeakers() {
        return numberOfSpeakers;
    }

    /**
     * Sets the value of the numberOfSpeakers property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfSpeakers(BigInteger value) {
        this.numberOfSpeakers = value;
    }

    /**
     * Gets the value of the grilleRemoveability property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGrilleRemoveability() {
        return grilleRemoveability;
    }

    /**
     * Sets the value of the grilleRemoveability property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGrilleRemoveability(String value) {
        this.grilleRemoveability = value;
    }

    /**
     * Gets the value of the speakerGrilleMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerGrilleMaterial() {
        return speakerGrilleMaterial;
    }

    /**
     * Sets the value of the speakerGrilleMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerGrilleMaterial(String value) {
        this.speakerGrilleMaterial = value;
    }

    /**
     * Gets the value of the maximumWattage property.
     * 
     * @return
     *     possible object is
     *     {@link WattageDimension }
     *     
     */
    public WattageDimension getMaximumWattage() {
        return maximumWattage;
    }

    /**
     * Sets the value of the maximumWattage property.
     * 
     * @param value
     *     allowed object is
     *     {@link WattageDimension }
     *     
     */
    public void setMaximumWattage(WattageDimension value) {
        this.maximumWattage = value;
    }

    /**
     * Gets the value of the subscriptionTermName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubscriptionTermName() {
        return subscriptionTermName;
    }

    /**
     * Sets the value of the subscriptionTermName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubscriptionTermName(String value) {
        this.subscriptionTermName = value;
    }

    /**
     * Gets the value of the subwooferWattage property.
     * 
     * @return
     *     possible object is
     *     {@link WattageDimension }
     *     
     */
    public WattageDimension getSubwooferWattage() {
        return subwooferWattage;
    }

    /**
     * Sets the value of the subwooferWattage property.
     * 
     * @param value
     *     allowed object is
     *     {@link WattageDimension }
     *     
     */
    public void setSubwooferWattage(WattageDimension value) {
        this.subwooferWattage = value;
    }

    /**
     * Gets the value of the subwooferSpeakerMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubwooferSpeakerMaterial() {
        return subwooferSpeakerMaterial;
    }

    /**
     * Sets the value of the subwooferSpeakerMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubwooferSpeakerMaterial(String value) {
        this.subwooferSpeakerMaterial = value;
    }

    /**
     * Gets the value of the subwooferSpeakerDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getSubwooferSpeakerDiameter() {
        return subwooferSpeakerDiameter;
    }

    /**
     * Sets the value of the subwooferSpeakerDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setSubwooferSpeakerDiameter(LengthDimension value) {
        this.subwooferSpeakerDiameter = value;
    }

    /**
     * Gets the value of the subwooferPowerTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSubwooferPowerTechnology() {
        return subwooferPowerTechnology;
    }

    /**
     * Sets the value of the subwooferPowerTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSubwooferPowerTechnology(String value) {
        this.subwooferPowerTechnology = value;
    }

    /**
     * Gets the value of the internetApplications property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the internetApplications property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInternetApplications().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getInternetApplications() {
        if (internetApplications == null) {
            internetApplications = new ArrayList<String>();
        }
        return this.internetApplications;
    }

    /**
     * Gets the value of the totalCoaxialInputs property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalCoaxialInputs() {
        return totalCoaxialInputs;
    }

    /**
     * Sets the value of the totalCoaxialInputs property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalCoaxialInputs(BigInteger value) {
        this.totalCoaxialInputs = value;
    }

    /**
     * Gets the value of the totalComponentInPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalComponentInPorts() {
        return totalComponentInPorts;
    }

    /**
     * Sets the value of the totalComponentInPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalComponentInPorts(BigInteger value) {
        this.totalComponentInPorts = value;
    }

    /**
     * Gets the value of the totalCompositePorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalCompositePorts() {
        return totalCompositePorts;
    }

    /**
     * Sets the value of the totalCompositePorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalCompositePorts(BigInteger value) {
        this.totalCompositePorts = value;
    }

    /**
     * Gets the value of the totalEthernetPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalEthernetPorts() {
        return totalEthernetPorts;
    }

    /**
     * Sets the value of the totalEthernetPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalEthernetPorts(BigInteger value) {
        this.totalEthernetPorts = value;
    }

    /**
     * Gets the value of the totalHdmiPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalHdmiPorts() {
        return totalHdmiPorts;
    }

    /**
     * Sets the value of the totalHdmiPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalHdmiPorts(BigInteger value) {
        this.totalHdmiPorts = value;
    }

    /**
     * Gets the value of the totalPowerOutlets property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalPowerOutlets() {
        return totalPowerOutlets;
    }

    /**
     * Sets the value of the totalPowerOutlets property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalPowerOutlets(BigInteger value) {
        this.totalPowerOutlets = value;
    }

    /**
     * Gets the value of the totalPreampOutputs property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalPreampOutputs() {
        return totalPreampOutputs;
    }

    /**
     * Sets the value of the totalPreampOutputs property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalPreampOutputs(BigInteger value) {
        this.totalPreampOutputs = value;
    }

    /**
     * Gets the value of the totalSVideoInPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalSVideoInPorts() {
        return totalSVideoInPorts;
    }

    /**
     * Sets the value of the totalSVideoInPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalSVideoInPorts(BigInteger value) {
        this.totalSVideoInPorts = value;
    }

    /**
     * Gets the value of the totalSubwooferOutputs property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalSubwooferOutputs() {
        return totalSubwooferOutputs;
    }

    /**
     * Sets the value of the totalSubwooferOutputs property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalSubwooferOutputs(BigInteger value) {
        this.totalSubwooferOutputs = value;
    }

    /**
     * Gets the value of the totalVgaInPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalVgaInPorts() {
        return totalVgaInPorts;
    }

    /**
     * Sets the value of the totalVgaInPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalVgaInPorts(BigInteger value) {
        this.totalVgaInPorts = value;
    }

    /**
     * Gets the value of the totalVideoOutPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalVideoOutPorts() {
        return totalVideoOutPorts;
    }

    /**
     * Sets the value of the totalVideoOutPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalVideoOutPorts(BigInteger value) {
        this.totalVideoOutPorts = value;
    }

    /**
     * Gets the value of the trafficFeatures property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the trafficFeatures property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getTrafficFeatures().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getTrafficFeatures() {
        if (trafficFeatures == null) {
            trafficFeatures = new ArrayList<String>();
        }
        return this.trafficFeatures;
    }

    /**
     * Gets the value of the screenTrigger property.
     * 
     * @return
     *     possible object is
     *     {@link VoltageDecimalDimension }
     *     
     */
    public VoltageDecimalDimension getScreenTrigger() {
        return screenTrigger;
    }

    /**
     * Sets the value of the screenTrigger property.
     * 
     * @param value
     *     allowed object is
     *     {@link VoltageDecimalDimension }
     *     
     */
    public void setScreenTrigger(VoltageDecimalDimension value) {
        this.screenTrigger = value;
    }

    /**
     * Gets the value of the tweeterSpeakerMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTweeterSpeakerMaterial() {
        return tweeterSpeakerMaterial;
    }

    /**
     * Sets the value of the tweeterSpeakerMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTweeterSpeakerMaterial(String value) {
        this.tweeterSpeakerMaterial = value;
    }

    /**
     * Gets the value of the tweeterSpeakerDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getTweeterSpeakerDiameter() {
        return tweeterSpeakerDiameter;
    }

    /**
     * Sets the value of the tweeterSpeakerDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setTweeterSpeakerDiameter(LengthDimension value) {
        this.tweeterSpeakerDiameter = value;
    }

    /**
     * Gets the value of the tweeterSpeakerTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTweeterSpeakerTechnology() {
        return tweeterSpeakerTechnology;
    }

    /**
     * Sets the value of the tweeterSpeakerTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTweeterSpeakerTechnology(String value) {
        this.tweeterSpeakerTechnology = value;
    }

    /**
     * Gets the value of the universalRemoteCode property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getUniversalRemoteCode() {
        return universalRemoteCode;
    }

    /**
     * Sets the value of the universalRemoteCode property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setUniversalRemoteCode(BigInteger value) {
        this.universalRemoteCode = value;
    }

    /**
     * Gets the value of the verticalKeystoneCorrection property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getVerticalKeystoneCorrection() {
        return verticalKeystoneCorrection;
    }

    /**
     * Sets the value of the verticalKeystoneCorrection property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setVerticalKeystoneCorrection(LengthDimension value) {
        this.verticalKeystoneCorrection = value;
    }

    /**
     * Gets the value of the videoEncoding property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoEncoding() {
        return videoEncoding;
    }

    /**
     * Sets the value of the videoEncoding property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoEncoding(String value) {
        this.videoEncoding = value;
    }

    /**
     * Gets the value of the videoResolution property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getVideoResolution() {
        return videoResolution;
    }

    /**
     * Sets the value of the videoResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setVideoResolution(PixelDimension value) {
        this.videoResolution = value;
    }

    /**
     * Gets the value of the waterResistantDepth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getWaterResistantDepth() {
        return waterResistantDepth;
    }

    /**
     * Sets the value of the waterResistantDepth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setWaterResistantDepth(LengthDimension value) {
        this.waterResistantDepth = value;
    }

    /**
     * Gets the value of the waterResistantLevel property.
     * 
     * @return
     *     possible object is
     *     {@link WaterResistantType }
     *     
     */
    public WaterResistantType getWaterResistantLevel() {
        return waterResistantLevel;
    }

    /**
     * Sets the value of the waterResistantLevel property.
     * 
     * @param value
     *     allowed object is
     *     {@link WaterResistantType }
     *     
     */
    public void setWaterResistantLevel(WaterResistantType value) {
        this.waterResistantLevel = value;
    }

    /**
     * Gets the value of the wirelessTechnology property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the wirelessTechnology property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getWirelessTechnology().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getWirelessTechnology() {
        if (wirelessTechnology == null) {
            wirelessTechnology = new ArrayList<String>();
        }
        return this.wirelessTechnology;
    }

    /**
     * Gets the value of the wooferSpeakerMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWooferSpeakerMaterial() {
        return wooferSpeakerMaterial;
    }

    /**
     * Sets the value of the wooferSpeakerMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWooferSpeakerMaterial(String value) {
        this.wooferSpeakerMaterial = value;
    }

    /**
     * Gets the value of the wooferSpeakerDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getWooferSpeakerDiameter() {
        return wooferSpeakerDiameter;
    }

    /**
     * Sets the value of the wooferSpeakerDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setWooferSpeakerDiameter(LengthDimension value) {
        this.wooferSpeakerDiameter = value;
    }

    /**
     * Gets the value of the zoomRatio property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getZoomRatio() {
        return zoomRatio;
    }

    /**
     * Sets the value of the zoomRatio property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setZoomRatio(String value) {
        this.zoomRatio = value;
    }

    /**
     * Gets the value of the zoomType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getZoomType() {
        return zoomType;
    }

    /**
     * Sets the value of the zoomType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setZoomType(String value) {
        this.zoomType = value;
    }

    /**
     * Gets the value of the amplifierType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAmplifierType() {
        return amplifierType;
    }

    /**
     * Sets the value of the amplifierType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAmplifierType(String value) {
        this.amplifierType = value;
    }

    /**
     * Gets the value of the analogRGBInput property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the analogRGBInput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAnalogRGBInput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAnalogRGBInput() {
        if (analogRGBInput == null) {
            analogRGBInput = new ArrayList<String>();
        }
        return this.analogRGBInput;
    }

    /**
     * Gets the value of the batteryPower property.
     * 
     * @return
     *     possible object is
     *     {@link BatteryPowerIntegerDimension }
     *     
     */
    public BatteryPowerIntegerDimension getBatteryPower() {
        return batteryPower;
    }

    /**
     * Sets the value of the batteryPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link BatteryPowerIntegerDimension }
     *     
     */
    public void setBatteryPower(BatteryPowerIntegerDimension value) {
        this.batteryPower = value;
    }

    /**
     * Gets the value of the bluRayRegion property.
     * 
     * @return
     *     possible object is
     *     {@link BluRayRegionType }
     *     
     */
    public BluRayRegionType getBluRayRegion() {
        return bluRayRegion;
    }

    /**
     * Sets the value of the bluRayRegion property.
     * 
     * @param value
     *     allowed object is
     *     {@link BluRayRegionType }
     *     
     */
    public void setBluRayRegion(BluRayRegionType value) {
        this.bluRayRegion = value;
    }

    /**
     * Gets the value of the boxContents property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBoxContents() {
        return boxContents;
    }

    /**
     * Sets the value of the boxContents property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBoxContents(String value) {
        this.boxContents = value;
    }

    /**
     * Gets the value of the cameraFilmSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getCameraFilmSpeed() {
        return cameraFilmSpeed;
    }

    /**
     * Sets the value of the cameraFilmSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setCameraFilmSpeed(BigInteger value) {
        this.cameraFilmSpeed = value;
    }

    /**
     * Gets the value of the cameraFlash property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCameraFlash() {
        return cameraFlash;
    }

    /**
     * Sets the value of the cameraFlash property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCameraFlash(String value) {
        this.cameraFlash = value;
    }

    /**
     * Gets the value of the coatingDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCoatingDescription() {
        return coatingDescription;
    }

    /**
     * Sets the value of the coatingDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCoatingDescription(String value) {
        this.coatingDescription = value;
    }

    /**
     * Gets the value of the compatibleMountings property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCompatibleMountings() {
        return compatibleMountings;
    }

    /**
     * Sets the value of the compatibleMountings property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCompatibleMountings(String value) {
        this.compatibleMountings = value;
    }

    /**
     * Gets the value of the conductor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getConductor() {
        return conductor;
    }

    /**
     * Sets the value of the conductor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setConductor(String value) {
        this.conductor = value;
    }

    /**
     * Gets the value of the continuousShootingSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link ContinuousShootingDimension }
     *     
     */
    public ContinuousShootingDimension getContinuousShootingSpeed() {
        return continuousShootingSpeed;
    }

    /**
     * Sets the value of the continuousShootingSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link ContinuousShootingDimension }
     *     
     */
    public void setContinuousShootingSpeed(ContinuousShootingDimension value) {
        this.continuousShootingSpeed = value;
    }

    /**
     * Gets the value of the digitalZoom property.
     * 
     * @return
     *     possible object is
     *     {@link ZoomDimension }
     *     
     */
    public ZoomDimension getDigitalZoom() {
        return digitalZoom;
    }

    /**
     * Sets the value of the digitalZoom property.
     * 
     * @param value
     *     allowed object is
     *     {@link ZoomDimension }
     *     
     */
    public void setDigitalZoom(ZoomDimension value) {
        this.digitalZoom = value;
    }

    /**
     * Gets the value of the dvdRegion property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getDVDRegion() {
        return dvdRegion;
    }

    /**
     * Sets the value of the dvdRegion property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setDVDRegion(BigInteger value) {
        this.dvdRegion = value;
    }

    /**
     * Gets the value of the effectiveStillResolution property.
     * 
     * @return
     *     possible object is
     *     {@link ResolutionDimension }
     *     
     */
    public ResolutionDimension getEffectiveStillResolution() {
        return effectiveStillResolution;
    }

    /**
     * Sets the value of the effectiveStillResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link ResolutionDimension }
     *     
     */
    public void setEffectiveStillResolution(ResolutionDimension value) {
        this.effectiveStillResolution = value;
    }

    /**
     * Gets the value of the fixedFocalLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getFixedFocalLength() {
        return fixedFocalLength;
    }

    /**
     * Sets the value of the fixedFocalLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setFixedFocalLength(LengthDimension value) {
        this.fixedFocalLength = value;
    }

    /**
     * Gets the value of the flashDedication property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFlashDedication() {
        return flashDedication;
    }

    /**
     * Sets the value of the flashDedication property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFlashDedication(String value) {
        this.flashDedication = value;
    }

    /**
     * Gets the value of the flashModesDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFlashModesDescription() {
        return flashModesDescription;
    }

    /**
     * Sets the value of the flashModesDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFlashModesDescription(String value) {
        this.flashModesDescription = value;
    }

    /**
     * Gets the value of the focusType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFocusType() {
        return focusType;
    }

    /**
     * Sets the value of the focusType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFocusType(String value) {
        this.focusType = value;
    }

    /**
     * Gets the value of the guideNumber property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGuideNumber() {
        return guideNumber;
    }

    /**
     * Sets the value of the guideNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGuideNumber(String value) {
        this.guideNumber = value;
    }

    /**
     * Gets the value of the imageStabilization property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getImageStabilization() {
        return imageStabilization;
    }

    /**
     * Sets the value of the imageStabilization property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setImageStabilization(String value) {
        this.imageStabilization = value;
    }

    /**
     * Gets the value of the isHotShoeIncluded property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsHotShoeIncluded() {
        return isHotShoeIncluded;
    }

    /**
     * Sets the value of the isHotShoeIncluded property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsHotShoeIncluded(String value) {
        this.isHotShoeIncluded = value;
    }

    /**
     * Gets the value of the maxAperture property.
     * 
     * @return
     *     possible object is
     *     {@link ApertureDimension }
     *     
     */
    public ApertureDimension getMaxAperture() {
        return maxAperture;
    }

    /**
     * Sets the value of the maxAperture property.
     * 
     * @param value
     *     allowed object is
     *     {@link ApertureDimension }
     *     
     */
    public void setMaxAperture(ApertureDimension value) {
        this.maxAperture = value;
    }

    /**
     * Gets the value of the maxFocalLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaxFocalLength() {
        return maxFocalLength;
    }

    /**
     * Sets the value of the maxFocalLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaxFocalLength(LengthDimension value) {
        this.maxFocalLength = value;
    }

    /**
     * Gets the value of the maxShutterSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaxShutterSpeed() {
        return maxShutterSpeed;
    }

    /**
     * Sets the value of the maxShutterSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaxShutterSpeed(String value) {
        this.maxShutterSpeed = value;
    }

    /**
     * Gets the value of the maxWeightCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getMaxWeightCapacity() {
        return maxWeightCapacity;
    }

    /**
     * Sets the value of the maxWeightCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setMaxWeightCapacity(WeightDimension value) {
        this.maxWeightCapacity = value;
    }

    /**
     * Gets the value of the minAperture property.
     * 
     * @return
     *     possible object is
     *     {@link ApertureDimension }
     *     
     */
    public ApertureDimension getMinAperture() {
        return minAperture;
    }

    /**
     * Sets the value of the minAperture property.
     * 
     * @param value
     *     allowed object is
     *     {@link ApertureDimension }
     *     
     */
    public void setMinAperture(ApertureDimension value) {
        this.minAperture = value;
    }

    /**
     * Gets the value of the minShutterSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getMinShutterSpeed() {
        return minShutterSpeed;
    }

    /**
     * Sets the value of the minShutterSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setMinShutterSpeed(BigDecimal value) {
        this.minShutterSpeed = value;
    }

    /**
     * Gets the value of the numberOfHandsets property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfHandsets() {
        return numberOfHandsets;
    }

    /**
     * Sets the value of the numberOfHandsets property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfHandsets(BigInteger value) {
        this.numberOfHandsets = value;
    }

    /**
     * Gets the value of the numberOfRadioBandsSupported property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfRadioBandsSupported() {
        return numberOfRadioBandsSupported;
    }

    /**
     * Sets the value of the numberOfRadioBandsSupported property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfRadioBandsSupported(BigInteger value) {
        this.numberOfRadioBandsSupported = value;
    }

    /**
     * Gets the value of the numberOfRecordingLoops property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfRecordingLoops() {
        return numberOfRecordingLoops;
    }

    /**
     * Sets the value of the numberOfRecordingLoops property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfRecordingLoops(BigInteger value) {
        this.numberOfRecordingLoops = value;
    }

    /**
     * Gets the value of the opticalZoom property.
     * 
     * @return
     *     possible object is
     *     {@link ZoomDimension }
     *     
     */
    public ZoomDimension getOpticalZoom() {
        return opticalZoom;
    }

    /**
     * Sets the value of the opticalZoom property.
     * 
     * @param value
     *     allowed object is
     *     {@link ZoomDimension }
     *     
     */
    public void setOpticalZoom(ZoomDimension value) {
        this.opticalZoom = value;
    }

    /**
     * Gets the value of the photoFilterBayonetSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoFilterBayonetSize() {
        return photoFilterBayonetSize;
    }

    /**
     * Sets the value of the photoFilterBayonetSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoFilterBayonetSize(String value) {
        this.photoFilterBayonetSize = value;
    }

    /**
     * Gets the value of the photoFilterDropInSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoFilterDropInSize() {
        return photoFilterDropInSize;
    }

    /**
     * Sets the value of the photoFilterDropInSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoFilterDropInSize(String value) {
        this.photoFilterDropInSize = value;
    }

    /**
     * Gets the value of the photoFilterEffectSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoFilterEffectSize() {
        return photoFilterEffectSize;
    }

    /**
     * Sets the value of the photoFilterEffectSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoFilterEffectSize(String value) {
        this.photoFilterEffectSize = value;
    }

    /**
     * Gets the value of the photoFilterLensSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getPhotoFilterLensSize() {
        return photoFilterLensSize;
    }

    /**
     * Sets the value of the photoFilterLensSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setPhotoFilterLensSize(LengthDimension value) {
        this.photoFilterLensSize = value;
    }

    /**
     * Gets the value of the photoFilterMountType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPhotoFilterMountType() {
        return photoFilterMountType;
    }

    /**
     * Sets the value of the photoFilterMountType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPhotoFilterMountType(String value) {
        this.photoFilterMountType = value;
    }

    /**
     * Gets the value of the photoFilterThreadSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getPhotoFilterThreadSize() {
        return photoFilterThreadSize;
    }

    /**
     * Sets the value of the photoFilterThreadSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setPhotoFilterThreadSize(LengthDimension value) {
        this.photoFilterThreadSize = value;
    }

    /**
     * Gets the value of the powerConsumption property.
     * 
     * @return
     *     possible object is
     *     {@link PowerDimension }
     *     
     */
    public PowerDimension getPowerConsumption() {
        return powerConsumption;
    }

    /**
     * Sets the value of the powerConsumption property.
     * 
     * @param value
     *     allowed object is
     *     {@link PowerDimension }
     *     
     */
    public void setPowerConsumption(PowerDimension value) {
        this.powerConsumption = value;
    }

    /**
     * Gets the value of the powerPlugType property.
     * 
     * @return
     *     possible object is
     *     {@link PowerPlugType }
     *     
     */
    public PowerPlugType getPowerPlugType() {
        return powerPlugType;
    }

    /**
     * Sets the value of the powerPlugType property.
     * 
     * @param value
     *     allowed object is
     *     {@link PowerPlugType }
     *     
     */
    public void setPowerPlugType(PowerPlugType value) {
        this.powerPlugType = value;
    }

    /**
     * Gets the value of the refreshRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getRefreshRate() {
        return refreshRate;
    }

    /**
     * Sets the value of the refreshRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setRefreshRate(FrequencyDimension value) {
        this.refreshRate = value;
    }

    /**
     * Gets the value of the remoteControlDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemoteControlDescription() {
        return remoteControlDescription;
    }

    /**
     * Sets the value of the remoteControlDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemoteControlDescription(String value) {
        this.remoteControlDescription = value;
    }

    /**
     * Gets the value of the removableMemory property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemovableMemory() {
        return removableMemory;
    }

    /**
     * Sets the value of the removableMemory property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemovableMemory(String value) {
        this.removableMemory = value;
    }

    /**
     * Gets the value of the speakerMaximumInputPower property.
     * 
     * @return
     *     possible object is
     *     {@link PowerDimension }
     *     
     */
    public PowerDimension getSpeakerMaximumInputPower() {
        return speakerMaximumInputPower;
    }

    /**
     * Sets the value of the speakerMaximumInputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link PowerDimension }
     *     
     */
    public void setSpeakerMaximumInputPower(PowerDimension value) {
        this.speakerMaximumInputPower = value;
    }

    /**
     * Gets the value of the totalDVIPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalDVIPorts() {
        return totalDVIPorts;
    }

    /**
     * Sets the value of the totalDVIPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalDVIPorts(BigInteger value) {
        this.totalDVIPorts = value;
    }

    /**
     * Gets the value of the totalFirewirePorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalFirewirePorts() {
        return totalFirewirePorts;
    }

    /**
     * Sets the value of the totalFirewirePorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalFirewirePorts(BigInteger value) {
        this.totalFirewirePorts = value;
    }

    /**
     * Gets the value of the totalMicrophonePorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalMicrophonePorts() {
        return totalMicrophonePorts;
    }

    /**
     * Sets the value of the totalMicrophonePorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalMicrophonePorts(BigInteger value) {
        this.totalMicrophonePorts = value;
    }

    /**
     * Gets the value of the totalSVideoOutPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalSVideoOutPorts() {
        return totalSVideoOutPorts;
    }

    /**
     * Sets the value of the totalSVideoOutPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalSVideoOutPorts(BigInteger value) {
        this.totalSVideoOutPorts = value;
    }

    /**
     * Gets the value of the totalUSBPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalUSBPorts() {
        return totalUSBPorts;
    }

    /**
     * Sets the value of the totalUSBPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalUSBPorts(BigInteger value) {
        this.totalUSBPorts = value;
    }

    /**
     * Gets the value of the tweeterConeMaterialType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTweeterConeMaterialType() {
        return tweeterConeMaterialType;
    }

    /**
     * Sets the value of the tweeterConeMaterialType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTweeterConeMaterialType(String value) {
        this.tweeterConeMaterialType = value;
    }

    /**
     * Gets the value of the tweeterDriverDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getTweeterDriverDiameter() {
        return tweeterDriverDiameter;
    }

    /**
     * Sets the value of the tweeterDriverDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setTweeterDriverDiameter(LengthDimension value) {
        this.tweeterDriverDiameter = value;
    }

    /**
     * Gets the value of the viewFinderType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getViewFinderType() {
        return viewFinderType;
    }

    /**
     * Sets the value of the viewFinderType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setViewFinderType(String value) {
        this.viewFinderType = value;
    }

    /**
     * Gets the value of the waypointsType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWaypointsType() {
        return waypointsType;
    }

    /**
     * Sets the value of the waypointsType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWaypointsType(String value) {
        this.waypointsType = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="Parentage">
     *           &lt;simpleType>
     *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
     *               &lt;enumeration value="parent"/>
     *               &lt;enumeration value="child"/>
     *             &lt;/restriction>
     *           &lt;/simpleType>
     *         &lt;/element>
     *         &lt;element name="VariationTheme" minOccurs="0">
     *           &lt;simpleType>
     *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
     *               &lt;enumeration value="Color"/>
     *               &lt;enumeration value="Size"/>
     *               &lt;enumeration value="Size-Color"/>
     *               &lt;enumeration value="Scent"/>
     *               &lt;enumeration value="Size-Scent"/>
     *               &lt;enumeration value="CustomerPackageType"/>
     *               &lt;enumeration value="ColorName-CustomerPackageType"/>
     *               &lt;enumeration value="SizeName-CustomerPackageType"/>
     *               &lt;enumeration value="SizeName-ColorName-CustomerPackageType"/>
     *               &lt;enumeration value="StyleName-CustomerPackageType"/>
     *               &lt;enumeration value="SizeName-StyleName-CustomerPackageType"/>
     *             &lt;/restriction>
     *           &lt;/simpleType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "parentage",
        "variationTheme"
    })
    public static class VariationData {

        @XmlElement(name = "Parentage", required = true)
        protected String parentage;
        @XmlElement(name = "VariationTheme")
        protected String variationTheme;

        /**
         * Gets the value of the parentage property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getParentage() {
            return parentage;
        }

        /**
         * Sets the value of the parentage property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setParentage(String value) {
            this.parentage = value;
        }

        /**
         * Gets the value of the variationTheme property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getVariationTheme() {
            return variationTheme;
        }

        /**
         * Sets the value of the variationTheme property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setVariationTheme(String value) {
            this.variationTheme = value;
        }

    }

}