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.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="Megapixels" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="OpticalZoom" type="{}ZoomDimension" minOccurs="0"/>
 *         &lt;element name="DigitalZoom" type="{}ZoomDimension" minOccurs="0"/>
 *         &lt;element name="InternalMemorySize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="ExternalMemorySize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="CameraType" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="point-and-shoot"/>
 *               &lt;enumeration value="slr"/>
 *               &lt;enumeration value="3-d"/>
 *               &lt;enumeration value="macro"/>
 *               &lt;enumeration value="passport-and-id"/>
 *               &lt;enumeration value="underwater"/>
 *               &lt;enumeration value="other"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="FocusType" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="automatic"/>
 *               &lt;enumeration value="manual"/>
 *               &lt;enumeration value="manual-and-auto"/>
 *               &lt;enumeration value="focus-free"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="SensorType" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="ccd"/>
 *               &lt;enumeration value="super-ccd"/>
 *               &lt;enumeration value="cmos"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="LCDScreenSize" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="LCDSwivel" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="Viewfinder" type="{}StringNotNull" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="MinAperture" type="{}ApertureDimension" minOccurs="0"/>
 *         &lt;element name="MaxAperture" type="{}ApertureDimension" minOccurs="0"/>
 *         &lt;element name="ImageStabilization" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="InfraredCapability" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="FirewireOutput" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="S-VideoOutput" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="USBOutput" maxOccurs="2" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="usb1.1"/>
 *               &lt;enumeration value="usb2.0"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="AVOutput" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="DigitalStillCapability" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="DigitalStillResolution" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ExternalMemoryType" type="{}ExternalMemoryTypeValues" minOccurs="0"/>
 *         &lt;element name="ExternalMemoryIncluded" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="Features" type="{http://www.w3.org/2001/XMLSchema}anyType" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="USBStreaming" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HeadphoneJack" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="FlyingEraseHeads" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="Autolight" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HotShoe" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="LensThread" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element ref="{}ComputerPlatform" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="SoftwareIncluded" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="BatteryType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RechargeableBatteryIncluded" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="ACAdapterIncluded" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="RemoteIncluded" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="Connectivity" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="usb"/>
 *               &lt;enumeration value="usb1.1"/>
 *               &lt;enumeration value="usb2.0"/>
 *               &lt;enumeration value="firewire"/>
 *               &lt;enumeration value="firewire2.0"/>
 *               &lt;enumeration value="serial"/>
 *               &lt;enumeration value="parallel"/>
 *               &lt;enumeration value="ieee1394"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="InternalMemoryType" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="compact-flash"/>
 *               &lt;enumeration value="compact-flash-ii"/>
 *               &lt;enumeration value="pcmcia"/>
 *               &lt;enumeration value="pcmcia-ii"/>
 *               &lt;enumeration value="pcmcia-iii"/>
 *               &lt;enumeration value="smartmedia"/>
 *               &lt;enumeration value="memory-sticks"/>
 *               &lt;enumeration value="sd-multi-media"/>
 *               &lt;enumeration value="xd-picture-card"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="MaxImageResolution" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="UncompressedMode" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="tiff"/>
 *               &lt;enumeration value="raw"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="ThreeDTechnology" type="{}ThreeDTechnologyTypeValues" minOccurs="0"/>
 *         &lt;element name="AnalogRBGInput" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="Audio" type="{}AudioTypeValues" minOccurs="0"/>
 *         &lt;element name="Durability" type="{}LongString" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ExposureControl" type="{}LongString" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="FixedFocalLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="FlashModes" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="FocusFeatures" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="GeotaggingOrGPSFunctionality" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="ImageFormat" type="{}ImageFormatTypeValues" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="ISOEquivalency" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="ISORange" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="LensType" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="MacroFocus" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MinShutterSpeed" type="{}FourDecimal" minOccurs="0"/>
 *         &lt;element name="MaxShutterSpeed" type="{}FourDecimal" minOccurs="0"/>
 *         &lt;element name="ManualExposureMode" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="MaximumFocalLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MeteringMethods" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="MinimumFocalLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MovieMode" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="MaxMovieLength" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="AudioRecording" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="ContinuousShooting" type="{}ContinuousShootingDimension" minOccurs="0"/>
 *         &lt;element name="NoiseReductionLevel" type="{}Dimension" minOccurs="0"/>
 *         &lt;element name="Remote" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="SelfTimer" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="Size" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="TotalFirewirePorts" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalNumberOfHDMIPorts" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalUSB1.0Ports" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalUSB1.1Ports" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalUSB2.0Ports" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalUSB3.0Ports" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="TotalUSBPorts" type="{}PositiveInteger" minOccurs="0"/>
 *         &lt;element name="Touchscreen" type="{}TouchscreenTypeValues" minOccurs="0"/>
 *         &lt;element name="UseModes" type="{}StringNotNull" maxOccurs="3" minOccurs="0"/>
 *         &lt;element name="VideoResolution" type="{}LongString" minOccurs="0"/>
 *         &lt;element name="WaterResistanceDepth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="WaterResistanceLevel" type="{}WaterResistantType" minOccurs="0"/>
 *         &lt;element name="WirelessTechnology" type="{}LongString" maxOccurs="3" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "megapixels",
    "opticalZoom",
    "digitalZoom",
    "internalMemorySize",
    "externalMemorySize",
    "cameraType",
    "focusType",
    "sensorType",
    "lcdScreenSize",
    "lcdSwivel",
    "viewfinder",
    "minAperture",
    "maxAperture",
    "imageStabilization",
    "infraredCapability",
    "firewireOutput",
    "sVideoOutput",
    "usbOutput",
    "avOutput",
    "digitalStillCapability",
    "digitalStillResolution",
    "externalMemoryType",
    "externalMemoryIncluded",
    "features",
    "usbStreaming",
    "headphoneJack",
    "flyingEraseHeads",
    "autolight",
    "hotShoe",
    "lensThread",
    "computerPlatform",
    "softwareIncluded",
    "batteryType",
    "rechargeableBatteryIncluded",
    "acAdapterIncluded",
    "remoteIncluded",
    "connectivity",
    "internalMemoryType",
    "maxImageResolution",
    "uncompressedMode",
    "threeDTechnology",
    "analogRBGInput",
    "audio",
    "durability",
    "exposureControl",
    "fixedFocalLength",
    "flashModes",
    "focusFeatures",
    "geotaggingOrGPSFunctionality",
    "imageFormat",
    "isoEquivalency",
    "isoRange",
    "lensType",
    "macroFocus",
    "minShutterSpeed",
    "maxShutterSpeed",
    "manualExposureMode",
    "maximumFocalLength",
    "meteringMethods",
    "minimumFocalLength",
    "movieMode",
    "maxMovieLength",
    "audioRecording",
    "continuousShooting",
    "noiseReductionLevel",
    "remote",
    "selfTimer",
    "size",
    "totalFirewirePorts",
    "totalNumberOfHDMIPorts",
    "totalUSB10Ports",
    "totalUSB11Ports",
    "totalUSB20Ports",
    "totalUSB30Ports",
    "totalUSBPorts",
    "touchscreen",
    "useModes",
    "videoResolution",
    "waterResistanceDepth",
    "waterResistanceLevel",
    "wirelessTechnology"
})
@XmlRootElement(name = "DigitalCamera")
public class DigitalCamera {

    @XmlElement(name = "Megapixels")
    protected PixelDimension megapixels;
    @XmlElement(name = "OpticalZoom")
    protected ZoomDimension opticalZoom;
    @XmlElement(name = "DigitalZoom")
    protected ZoomDimension digitalZoom;
    @XmlElement(name = "InternalMemorySize")
    protected MemorySizeDimension internalMemorySize;
    @XmlElement(name = "ExternalMemorySize")
    protected MemorySizeDimension externalMemorySize;
    @XmlElement(name = "CameraType")
    protected String cameraType;
    @XmlElement(name = "FocusType")
    protected String focusType;
    @XmlElement(name = "SensorType")
    protected String sensorType;
    @XmlElement(name = "LCDScreenSize")
    protected LengthDimension lcdScreenSize;
    @XmlElement(name = "LCDSwivel")
    protected Boolean lcdSwivel;
    @XmlElement(name = "Viewfinder")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> viewfinder;
    @XmlElement(name = "MinAperture")
    protected ApertureDimension minAperture;
    @XmlElement(name = "MaxAperture")
    protected ApertureDimension maxAperture;
    @XmlElement(name = "ImageStabilization")
    protected Boolean imageStabilization;
    @XmlElement(name = "InfraredCapability")
    protected Boolean infraredCapability;
    @XmlElement(name = "FirewireOutput")
    protected Boolean firewireOutput;
    @XmlElement(name = "S-VideoOutput")
    protected Boolean sVideoOutput;
    @XmlElement(name = "USBOutput")
    protected List<String> usbOutput;
    @XmlElement(name = "AVOutput")
    protected Boolean avOutput;
    @XmlElement(name = "DigitalStillCapability")
    protected Boolean digitalStillCapability;
    @XmlElement(name = "DigitalStillResolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String digitalStillResolution;
    @XmlElement(name = "ExternalMemoryType")
    protected String externalMemoryType;
    @XmlElement(name = "ExternalMemoryIncluded")
    protected Boolean externalMemoryIncluded;
    @XmlElement(name = "Features")
    protected List<Object> features;
    @XmlElement(name = "USBStreaming")
    protected Boolean usbStreaming;
    @XmlElement(name = "HeadphoneJack")
    protected Boolean headphoneJack;
    @XmlElement(name = "FlyingEraseHeads")
    protected Boolean flyingEraseHeads;
    @XmlElement(name = "Autolight")
    protected Boolean autolight;
    @XmlElement(name = "HotShoe")
    protected Boolean hotShoe;
    @XmlElement(name = "LensThread")
    protected LengthDimension lensThread;
    @XmlElement(name = "ComputerPlatform")
    protected List<ComputerPlatform> computerPlatform;
    @XmlElement(name = "SoftwareIncluded")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String softwareIncluded;
    @XmlElement(name = "BatteryType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String batteryType;
    @XmlElement(name = "RechargeableBatteryIncluded")
    protected Boolean rechargeableBatteryIncluded;
    @XmlElement(name = "ACAdapterIncluded")
    protected Boolean acAdapterIncluded;
    @XmlElement(name = "RemoteIncluded")
    protected Boolean remoteIncluded;
    @XmlElement(name = "Connectivity")
    protected String connectivity;
    @XmlElement(name = "InternalMemoryType")
    protected String internalMemoryType;
    @XmlElement(name = "MaxImageResolution")
    protected PixelDimension maxImageResolution;
    @XmlElement(name = "UncompressedMode")
    protected String uncompressedMode;
    @XmlElement(name = "ThreeDTechnology")
    protected ThreeDTechnologyTypeValues threeDTechnology;
    @XmlElement(name = "AnalogRBGInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String analogRBGInput;
    @XmlElement(name = "Audio")
    protected AudioTypeValues audio;
    @XmlElement(name = "Durability")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> durability;
    @XmlElement(name = "ExposureControl")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> exposureControl;
    @XmlElement(name = "FixedFocalLength")
    protected LengthDimension fixedFocalLength;
    @XmlElement(name = "FlashModes")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> flashModes;
    @XmlElement(name = "FocusFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String focusFeatures;
    @XmlElement(name = "GeotaggingOrGPSFunctionality")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String geotaggingOrGPSFunctionality;
    @XmlElement(name = "ImageFormat")
    protected List<ImageFormatTypeValues> imageFormat;
    @XmlElement(name = "ISOEquivalency")
    protected BigInteger isoEquivalency;
    @XmlElement(name = "ISORange")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String isoRange;
    @XmlElement(name = "LensType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String lensType;
    @XmlElement(name = "MacroFocus")
    protected LengthDimension macroFocus;
    @XmlElement(name = "MinShutterSpeed")
    protected BigDecimal minShutterSpeed;
    @XmlElement(name = "MaxShutterSpeed")
    protected BigDecimal maxShutterSpeed;
    @XmlElement(name = "ManualExposureMode")
    protected Boolean manualExposureMode;
    @XmlElement(name = "MaximumFocalLength")
    protected LengthDimension maximumFocalLength;
    @XmlElement(name = "MeteringMethods")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String meteringMethods;
    @XmlElement(name = "MinimumFocalLength")
    protected LengthDimension minimumFocalLength;
    @XmlElement(name = "MovieMode")
    protected Boolean movieMode;
    @XmlElement(name = "MaxMovieLength")
    protected TimeDimension maxMovieLength;
    @XmlElement(name = "AudioRecording")
    protected Boolean audioRecording;
    @XmlElement(name = "ContinuousShooting")
    protected ContinuousShootingDimension continuousShooting;
    @XmlElement(name = "NoiseReductionLevel")
    protected BigDecimal noiseReductionLevel;
    @XmlElement(name = "Remote")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String remote;
    @XmlElement(name = "SelfTimer")
    protected TimeDimension selfTimer;
    @XmlElement(name = "Size")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String size;
    @XmlElement(name = "TotalFirewirePorts")
    protected BigInteger totalFirewirePorts;
    @XmlElement(name = "TotalNumberOfHDMIPorts")
    protected BigInteger totalNumberOfHDMIPorts;
    @XmlElement(name = "TotalUSB1.0Ports")
    protected BigInteger totalUSB10Ports;
    @XmlElement(name = "TotalUSB1.1Ports")
    protected BigInteger totalUSB11Ports;
    @XmlElement(name = "TotalUSB2.0Ports")
    protected BigInteger totalUSB20Ports;
    @XmlElement(name = "TotalUSB3.0Ports")
    protected BigInteger totalUSB30Ports;
    @XmlElement(name = "TotalUSBPorts")
    protected BigInteger totalUSBPorts;
    @XmlElement(name = "Touchscreen")
    protected TouchscreenTypeValues touchscreen;
    @XmlElement(name = "UseModes")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> useModes;
    @XmlElement(name = "VideoResolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoResolution;
    @XmlElement(name = "WaterResistanceDepth")
    protected LengthDimension waterResistanceDepth;
    @XmlElement(name = "WaterResistanceLevel")
    protected WaterResistantType waterResistanceLevel;
    @XmlElement(name = "WirelessTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> wirelessTechnology;

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

    /**
     * Sets the value of the megapixels property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setMegapixels(PixelDimension value) {
        this.megapixels = 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 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 internalMemorySize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getInternalMemorySize() {
        return internalMemorySize;
    }

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

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

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

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

    /**
     * Sets the value of the cameraType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCameraType(String value) {
        this.cameraType = 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 sensorType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSensorType() {
        return sensorType;
    }

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

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

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

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

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

    /**
     * Gets the value of the viewfinder 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 viewfinder property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getViewfinder().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getViewfinder() {
        if (viewfinder == null) {
            viewfinder = new ArrayList<String>();
        }
        return this.viewfinder;
    }

    /**
     * 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 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 imageStabilization property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isImageStabilization() {
        return imageStabilization;
    }

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

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

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

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

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

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

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

    /**
     * Gets the value of the usbOutput 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 usbOutput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getUSBOutput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getUSBOutput() {
        if (usbOutput == null) {
            usbOutput = new ArrayList<String>();
        }
        return this.usbOutput;
    }

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

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the features 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 features property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFeatures().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Object }
     * 
     * 
     */
    public List<Object> getFeatures() {
        if (features == null) {
            features = new ArrayList<Object>();
        }
        return this.features;
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the computerPlatform 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 computerPlatform property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getComputerPlatform().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ComputerPlatform }
     * 
     * 
     */
    public List<ComputerPlatform> getComputerPlatform() {
        if (computerPlatform == null) {
            computerPlatform = new ArrayList<ComputerPlatform>();
        }
        return this.computerPlatform;
    }

    /**
     * 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 batteryType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBatteryType() {
        return batteryType;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the audio property.
     * 
     * @return
     *     possible object is
     *     {@link AudioTypeValues }
     *     
     */
    public AudioTypeValues getAudio() {
        return audio;
    }

    /**
     * Sets the value of the audio property.
     * 
     * @param value
     *     allowed object is
     *     {@link AudioTypeValues }
     *     
     */
    public void setAudio(AudioTypeValues value) {
        this.audio = value;
    }

    /**
     * Gets the value of the durability 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 durability property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDurability().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDurability() {
        if (durability == null) {
            durability = new ArrayList<String>();
        }
        return this.durability;
    }

    /**
     * Gets the value of the exposureControl 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 exposureControl property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getExposureControl().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getExposureControl() {
        if (exposureControl == null) {
            exposureControl = new ArrayList<String>();
        }
        return this.exposureControl;
    }

    /**
     * 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 flashModes 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 flashModes property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFlashModes().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getFlashModes() {
        if (flashModes == null) {
            flashModes = new ArrayList<String>();
        }
        return this.flashModes;
    }

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

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

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

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

    /**
     * Gets the value of the imageFormat 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 imageFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getImageFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ImageFormatTypeValues }
     * 
     * 
     */
    public List<ImageFormatTypeValues> getImageFormat() {
        if (imageFormat == null) {
            imageFormat = new ArrayList<ImageFormatTypeValues>();
        }
        return this.imageFormat;
    }

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

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

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

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

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

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

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

    /**
     * Sets the value of the macroFocus property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMacroFocus(LengthDimension value) {
        this.macroFocus = 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 maxShutterSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getMaxShutterSpeed() {
        return maxShutterSpeed;
    }

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the maxMovieLength property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getMaxMovieLength() {
        return maxMovieLength;
    }

    /**
     * Sets the value of the maxMovieLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setMaxMovieLength(TimeDimension value) {
        this.maxMovieLength = value;
    }

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

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

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

    /**
     * Sets the value of the continuousShooting property.
     * 
     * @param value
     *     allowed object is
     *     {@link ContinuousShootingDimension }
     *     
     */
    public void setContinuousShooting(ContinuousShootingDimension value) {
        this.continuousShooting = 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 remote property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemote() {
        return remote;
    }

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

    /**
     * Gets the value of the selfTimer property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getSelfTimer() {
        return selfTimer;
    }

    /**
     * Sets the value of the selfTimer property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setSelfTimer(TimeDimension value) {
        this.selfTimer = value;
    }

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

    /**
     * Sets the value of the size property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSize(String value) {
        this.size = 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 totalNumberOfHDMIPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTotalNumberOfHDMIPorts() {
        return totalNumberOfHDMIPorts;
    }

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

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

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

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

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

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

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

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

    /**
     * Sets the value of the totalUSB30Ports property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTotalUSB30Ports(BigInteger value) {
        this.totalUSB30Ports = 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 touchscreen property.
     * 
     * @return
     *     possible object is
     *     {@link TouchscreenTypeValues }
     *     
     */
    public TouchscreenTypeValues getTouchscreen() {
        return touchscreen;
    }

    /**
     * Sets the value of the touchscreen property.
     * 
     * @param value
     *     allowed object is
     *     {@link TouchscreenTypeValues }
     *     
     */
    public void setTouchscreen(TouchscreenTypeValues value) {
        this.touchscreen = value;
    }

    /**
     * Gets the value of the useModes 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 useModes property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getUseModes().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getUseModes() {
        if (useModes == null) {
            useModes = new ArrayList<String>();
        }
        return this.useModes;
    }

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

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

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

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

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

    /**
     * Sets the value of the waterResistanceLevel property.
     * 
     * @param value
     *     allowed object is
     *     {@link WaterResistantType }
     *     
     */
    public void setWaterResistanceLevel(WaterResistantType value) {
        this.waterResistanceLevel = 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;
    }

}