/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2010, 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.data.kml.model;
import java.util.List;
import org.geotoolkit.data.kml.xsd.SimpleTypeContainer;
import static org.geotoolkit.data.kml.xml.KmlConstants.*;
/**
*
* @author Samuel Andrés
* @module
*/
public class DefaultLink extends DefaultAbstractObject implements Link {
private String href;
private RefreshMode refreshMode;
private double refreshInterval;
private ViewRefreshMode viewRefreshMode;
private double viewRefreshTime;
private double viewBoundScale;
private String viewFormat;
private String httpQuery;
/**
*
*/
public DefaultLink() {
this.refreshMode = DEF_REFRESH_MODE;
this.refreshInterval = DEF_REFRESH_INTERVAL;
this.viewRefreshMode = DEF_VIEW_REFRESH_MODE;
this.viewRefreshTime = DEF_VIEW_REFRESH_TIME;
this.viewBoundScale = DEF_VIEW_BOUND_SCALE;
}
/**
*
* @param objectSimpleExtensions
* @param idAttributes
* @param href
* @param basicLinkSimpleExtensions
* @param basicLinkObjectExtension
* @param refreshMode
* @param refreshInterval
* @param viewRefreshMode
* @param viewRefreshTime
* @param viewBoundScale
* @param viewFormat
* @param httpQuery
* @param linkSimpleExtensions
* @param linkObjectExtension
*/
public DefaultLink(List<SimpleTypeContainer> objectSimpleExtensions,
IdAttributes idAttributes,
String href,
List<SimpleTypeContainer> basicLinkSimpleExtensions,
List<Object> basicLinkObjectExtension,
RefreshMode refreshMode, double refreshInterval,
ViewRefreshMode viewRefreshMode, double viewRefreshTime,
double viewBoundScale, String viewFormat, String httpQuery,
List<SimpleTypeContainer> linkSimpleExtensions,
List<Object> linkObjectExtension) {
super(objectSimpleExtensions, idAttributes);
this.href = href;
if (basicLinkSimpleExtensions != null) {
this.extensions().simples(Extensions.Names.BASIC_LINK).addAll(basicLinkSimpleExtensions);
}
if (basicLinkObjectExtension != null) {
this.extensions().complexes(Extensions.Names.BASIC_LINK).addAll(basicLinkObjectExtension);
}
this.refreshMode = refreshMode;
this.refreshInterval = refreshInterval;
this.viewRefreshMode = viewRefreshMode;
this.viewRefreshTime = viewRefreshTime;
this.viewBoundScale = viewBoundScale;
this.viewFormat = viewFormat;
this.httpQuery = httpQuery;
if (linkSimpleExtensions != null) {
this.extensions().simples(Extensions.Names.LINK).addAll(linkSimpleExtensions);
}
if (linkObjectExtension != null) {
this.extensions().complexes(Extensions.Names.LINK).addAll(linkObjectExtension);
}
}
/**
*
* @{@inheritDoc }
*/
@Override
public String getHref() {
return this.href;
}
/**
*
* @{@inheritDoc }
*/
@Override
public RefreshMode getRefreshMode() {
return this.refreshMode;
}
/**
*
* @{@inheritDoc }
*/
@Override
public double getRefreshInterval() {
return this.refreshInterval;
}
/**
*
* @{@inheritDoc }
*/
@Override
public ViewRefreshMode getViewRefreshMode() {
return this.viewRefreshMode;
}
/**
*
* @{@inheritDoc }
*/
@Override
public double getViewRefreshTime() {
return this.viewRefreshTime;
}
/**
*
* @{@inheritDoc }
*/
@Override
public double getViewBoundScale() {
return this.viewBoundScale;
}
/**
*
* @{@inheritDoc }
*/
@Override
public String getViewFormat() {
return this.viewFormat;
}
/**
*
* @{@inheritDoc }
*/
@Override
public String getHttpQuery() {
return this.httpQuery;
}
/**
*
* @{@inheritDoc }
*/
@Override
public IdAttributes getIdAttributes() {
return this.idAttributes;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setHref(String href) {
this.href = href;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setRefreshMode(RefreshMode refreshMode) {
this.refreshMode = refreshMode;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setRefreshInterval(double refreshInterval) {
this.refreshInterval = refreshInterval;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setViewRefreshMode(ViewRefreshMode viewRefreshMode) {
this.viewRefreshMode = viewRefreshMode;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setViewRefreshTime(double viewRefreshTime) {
this.viewRefreshTime = viewRefreshTime;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setViewBoundScale(double viewBoundScale) {
this.viewBoundScale = viewBoundScale;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setViewFormat(String viewFormat) {
this.viewFormat = viewFormat;
}
/**
*
* @{@inheritDoc }
*/
@Override
public void setHttpQuery(String httpQuery) {
this.httpQuery = httpQuery;
}
}