/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2008 - 2009, Geomatys
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotoolkit.kml.xml.v220;
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.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java class for IconStyleType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="IconStyleType">
* <complexContent>
* <extension base="{http://www.opengis.net/kml/2.2}AbstractColorStyleType">
* <sequence>
* <element ref="{http://www.opengis.net/kml/2.2}scaleDenominator" minOccurs="0"/>
* <element ref="{http://www.opengis.net/kml/2.2}heading" minOccurs="0"/>
* <element name="Icon" type="{http://www.opengis.net/kml/2.2}BasicLinkType" minOccurs="0"/>
* <element ref="{http://www.opengis.net/kml/2.2}hotSpot" minOccurs="0"/>
* <element ref="{http://www.opengis.net/kml/2.2}IconStyleSimpleExtensionGroup" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{http://www.opengis.net/kml/2.2}IconStyleObjectExtensionGroup" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
* @module
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "IconStyleType", propOrder = {
"scaleDenominator",
"heading",
"icon",
"hotSpot",
"iconStyleSimpleExtensionGroup",
"iconStyleObjectExtensionGroup"
})
public class IconStyleType extends AbstractColorStyleType {
@XmlElement(defaultValue = "1.0")
private Double scaleDenominator;
@XmlElement(defaultValue = "0.0")
private Double heading;
@XmlElement(name = "Icon")
private BasicLinkType icon;
private Vec2Type hotSpot;
@XmlElement(name = "IconStyleSimpleExtensionGroup")
@XmlSchemaType(name = "anySimpleType")
private List<Object> iconStyleSimpleExtensionGroup;
@XmlElement(name = "IconStyleObjectExtensionGroup")
private List<AbstractObjectType> iconStyleObjectExtensionGroup;
/**
* Gets the value of the scaleDenominator property.
*
* @return
* possible object is
* {@link Double }
*
*/
public Double getScaleDenominator() {
return scaleDenominator;
}
/**
* Sets the value of the scaleDenominator property.
*
* @param value
* allowed object is
* {@link Double }
*
*/
public void setScaleDenominator(final Double value) {
this.scaleDenominator = value;
}
/**
* Gets the value of the heading property.
*
* @return
* possible object is
* {@link Double }
*
*/
public Double getHeading() {
return heading;
}
/**
* Sets the value of the heading property.
*
* @param value
* allowed object is
* {@link Double }
*
*/
public void setHeading(final Double value) {
this.heading = value;
}
/**
* Gets the value of the icon property.
*
* @return
* possible object is
* {@link BasicLinkType }
*
*/
public BasicLinkType getIcon() {
return icon;
}
/**
* Sets the value of the icon property.
*
* @param value
* allowed object is
* {@link BasicLinkType }
*
*/
public void setIcon(final BasicLinkType value) {
this.icon = value;
}
/**
* Gets the value of the hotSpot property.
*
* @return
* possible object is
* {@link Vec2Type }
*
*/
public Vec2Type getHotSpot() {
return hotSpot;
}
/**
* Sets the value of the hotSpot property.
*
* @param value
* allowed object is
* {@link Vec2Type }
*
*/
public void setHotSpot(final Vec2Type value) {
this.hotSpot = value;
}
/**
* Gets the value of the iconStyleSimpleExtensionGroup 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 iconStyleSimpleExtensionGroup property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getIconStyleSimpleExtensionGroup().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Object }
*
*
*/
public List<Object> getIconStyleSimpleExtensionGroup() {
if (iconStyleSimpleExtensionGroup == null) {
iconStyleSimpleExtensionGroup = new ArrayList<Object>();
}
return this.iconStyleSimpleExtensionGroup;
}
/**
* Gets the value of the iconStyleObjectExtensionGroup 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 iconStyleObjectExtensionGroup property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getIconStyleObjectExtensionGroup().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link AbstractObjectType }
*
*
*/
public List<AbstractObjectType> getIconStyleObjectExtensionGroup() {
if (iconStyleObjectExtensionGroup == null) {
iconStyleObjectExtensionGroup = new ArrayList<AbstractObjectType>();
}
return this.iconStyleObjectExtensionGroup;
}
}