📄 coverageinfodto.java
字号:
/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.vfny.geoserver.global.dto;
import org.geotools.geometry.GeneralEnvelope;
import org.opengis.coverage.grid.GridGeometry;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.util.InternationalString;
import org.vfny.geoserver.config.DataConfig;
import org.vfny.geoserver.global.CoverageDimension;
import org.vfny.geoserver.global.MetaDataLink;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* DOCUMENT ME!
*
* @author $Author: Alessio Fabiani (alessio.fabiani@gmail.com) $ (last
* modification)
* @author $Author: Simone Giannecchini (simboss1@gmail.com) $ (last
* modification)
*/
public final class CoverageInfoDTO implements DataTransferObject {
/**
*
*/
private String formatId;
/**
*
*/
private String name;
/**
*
*/
private String wmsPath;
/**
*
*/
private String label;
/**
*
*/
private String description;
/**
*
*/
private MetaDataLink metadataLink;
/**
*
*/
private String dirName;
/**
*
*/
private List keywords;
/**
*
*/
private GeneralEnvelope envelope;
/**
*
*/
private GeneralEnvelope lonLatWGS84Envelope;
/**
*
*/
private GridGeometry grid;
/**
*
*/
private CoverageDimension[] dimensions;
/**
*
*/
private InternationalString[] dimensionNames;
/**
*
*/
private List requestCRSs;
/**
*
*/
private List responseCRSs;
/**
*
*/
private String nativeFormat;
/**
*
*/
private List supportedFormats;
/**
*
*/
private String defaultInterpolationMethod;
/**
*
*/
private List interpolationMethods;
/**
*
*/
private String srsName;
/**
*
*/
private String srsWKT;
/**
*
*/
private CoordinateReferenceSystem crs;
/**
* Default style used to render this Coverage with WMS
*/
private String defaultStyle;
/** Other Style Names. */
private ArrayList styles = new ArrayList();
/**
* String representation of connection parameter values
*/
private Map parameters;
public CoverageInfoDTO() {
}
public CoverageInfoDTO(CoverageInfoDTO dto) {
if (dto == null) {
throw new NullPointerException("Non null CoverageInfoDTO required");
}
formatId = dto.getFormatId();
name = dto.getName();
wmsPath = dto.getWmsPath();
label = dto.getLabel();
description = dto.getDescription();
metadataLink = dto.getMetadataLink();
dirName = dto.getDirName();
try {
keywords = CloneLibrary.clone(dto.getKeywords()); // clone?
} catch (Exception e) {
keywords = new LinkedList();
}
crs = dto.getCrs();
srsName = dto.getSrsName();
srsWKT = dto.getSrsWKT();
envelope = dto.getEnvelope();
lonLatWGS84Envelope = dto.getLonLatWGS84Envelope();
grid = dto.getGrid();
dimensions = dto.getDimensions();
dimensionNames = dto.getDimensionNames();
try {
requestCRSs = CloneLibrary.clone(dto.getRequestCRSs());
} catch (CloneNotSupportedException e1) {
requestCRSs = new LinkedList();
}
try {
responseCRSs = CloneLibrary.clone(dto.getResponseCRSs());
} catch (CloneNotSupportedException e2) {
responseCRSs = new LinkedList();
}
nativeFormat = dto.getNativeFormat();
try {
supportedFormats = CloneLibrary.clone(dto.getSupportedFormats());
} catch (CloneNotSupportedException e3) {
supportedFormats = new LinkedList();
}
defaultInterpolationMethod = dto.getDefaultInterpolationMethod();
try {
interpolationMethods = CloneLibrary.clone(dto.getInterpolationMethods());
} catch (CloneNotSupportedException e4) {
interpolationMethods = new LinkedList();
}
defaultStyle = dto.getDefaultStyle();
styles = dto.getStyles();
parameters = dto.getParameters();
}
public Object clone() {
return new CoverageInfoDTO(this);
}
public boolean equals(Object obj) {
if ((obj == null) || !(obj instanceof CoverageInfoDTO)) {
return false;
}
CoverageInfoDTO f = (CoverageInfoDTO) obj;
boolean r = true;
r = r && (formatId == f.getFormatId());
if (envelope != null) {
r = r && envelope.equals(f.getEnvelope());
} else if (f.getEnvelope() != null) {
return false;
}
r = r && (srsName == f.getSrsName());
r = r && (srsWKT == f.getSrsWKT());
r = r && (crs == f.getCrs());
r = r && (name == f.getName());
r = r && (wmsPath == f.getWmsPath());
r = r && (description == f.getDescription());
r = r && (label == f.getLabel());
r = r && (metadataLink == f.getMetadataLink());
if (keywords != null) {
r = r && EqualsLibrary.equals(keywords, f.getKeywords());
} else if (f.getKeywords() != null) {
return false;
}
r = r && (defaultStyle == f.getDefaultStyle());
r = r && (styles == f.getStyles());
r = r && (dirName == f.getDirName());
r = r && (envelope == f.getEnvelope());
r = r && (grid == f.getGrid());
return r;
}
public int hashCode() {
int r = 1;
if (name != null) {
r *= name.hashCode();
}
if (formatId != null) {
r *= formatId.hashCode();
}
if (label != null) {
r *= label.hashCode();
}
if (envelope != null) {
r *= envelope.hashCode();
}
if (grid != null) {
r *= grid.hashCode();
}
if (srsName != null) {
r *= srsName.hashCode();
}
if (srsWKT != null) {
r *= srsWKT.hashCode();
}
if (crs != null) {
r *= crs.hashCode();
}
return r;
}
/**
* List of keywords (limitied to text).
*
* @return List of Keywords about this FeatureType
*
* @uml.property name="keywords"
*/
public List getKeywords() {
return keywords;
}
/**
* Convience method for dataStoreId.typeName.
*
* <p>
* This key may be used to store this FeatureType in a Map for later.
* </p>
*
* @return dataStoreId.typeName
*/
public String getKey() {
return getFormatId() + DataConfig.SEPARATOR + getName();
}
/**
* Name of featureType, must match typeName provided by DataStore.
*
* @return typeName of FeatureType
*
* @uml.property name="name"
*/
public String getName() {
return name;
}
/**
* setKeywords purpose.
*
* <p>
* Description ...
* </p>
*
* @param list
*
* @uml.property name="keywords"
*/
public void setKeywords(List list) {
keywords = list;
}
/**
* setKeywords purpose.
*
* <p>
* Description ...
* </p>
*
* @param key
*
* @return boolean true when added.
*/
public boolean addKeyword(String key) {
if (keywords == null) {
keywords = new LinkedList();
}
return keywords.add(key);
}
/**
* setKeywords purpose.
*
* <p>
* Description ...
* </p>
*
* @param key
*
* @return true whwn removed
*/
public boolean removeKeyword(String key) {
return keywords.remove(key);
}
/**
* setName purpose.
*
* <p>
* Description ...
* </p>
*
* @param string
*
* @uml.property name="name"
*/
public void setName(String string) {
name = string;
}
/**
* getDirName purpose.
*
* <p>
* Description ...
* </p>
*
* @return
*
* @uml.property name="dirName"
*/
public String getDirName() {
return dirName;
}
/**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -