⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coveragestoreconfig.java

📁 电子地图服务器,搭建自己的地图服务
💻 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.config;

import org.opengis.coverage.grid.Format;
import org.vfny.geoserver.global.dto.CoverageStoreInfoDTO;
import org.vfny.geoserver.util.CoverageStoreUtils;
import java.io.IOException;
import javax.servlet.ServletContext;


/**
 * DataFormatInfo purpose.
 *
 * <p>
 * Used to describe a coverage format, typically one specified in the
 * catalog.xml config file.
 * </p>
 *
 * <p>
 * </p>
 *
 * @author dzwiers, Refractions Research, Inc.
 * @author $Author: Alessio Fabiani (alessio.fabiani@gmail.com) $ (last
 *         modification)
 * @author $Author: Simone Giannecchini (simboss1@gmail.com) $ (last
 *         modification)
 */
public class CoverageStoreConfig {
    /**
     * unique datasore identifier
     */
    private String id;

    /**
     * unique namespace to refer to this format
     *
     * @uml.property name="nameSpaceId" multiplicity="(0 1)"
     */
    private String nameSpaceId;
    private String type;
    private String url;

    /**
     * wether this format is enabled
     */
    private boolean enabled = true;

    /**
     * a short description about this format
     */
    private String title;

    /** a short description about this format */
    private String _abstract;

    /**
     * Config ONLY!
     */
    private Format factory;

    /**
     * Create a new CoverageStoreConfig from a dataFormatId and factoryDescription
     *
     * <p>
     * Creates a DataFormatInfo to represent an instance with default data.
     * </p>
     *
     * @param dataFormatId
     *            Description of Format (see CoverageStoreUtils)
     * @param factoryDescription
     *            DOCUMENT ME!
     *
     * @see defaultSettings()
     */
    public CoverageStoreConfig(String dataFormatId, String factoryDescription) {
        this(dataFormatId, CoverageStoreUtils.aquireFactory(factoryDescription));
    }

    /** Creates a new CoverageStoreConfig for the provided factory (Format). */
    public CoverageStoreConfig(String dataFormatId, Format factory) {
        this.factory = factory;
        id = dataFormatId;
        nameSpaceId = "";
        type = factory.getName();
        url = "file:coverages/";
        enabled = true;
        title = "";
        _abstract = "";
    }

    /**
     * DataFormatInfo constructor.
     *
     * <p>
     * Creates a copy of the DataFormatInfoDTO provided. All the datastructures
     * are cloned.
     * </p>
     *
     * @param dto
     *            The format to copy.
     */
    public CoverageStoreConfig(CoverageStoreInfoDTO dto) {
        reset(dto);
    }

    /**
     * Called to update Config class based on DTO information
     *
     * @param dto
     *            DOCUMENT ME!
     *
     * @throws NullPointerException
     *             DOCUMENT ME!
     */
    public void reset(CoverageStoreInfoDTO dto) {
        if (dto == null) {
            throw new NullPointerException("Non null CoverageStoreInfoDTO required");
        }

        factory = CoverageStoreUtils.aquireFactoryByType(dto.getType());

        id = dto.getId();
        nameSpaceId = dto.getNameSpaceId();
        type = dto.getType();
        url = dto.getUrl();
        enabled = dto.isEnabled();
        _abstract = dto.getAbstract();
    }

    /**
     * Implement loadDTO.
     *
     * <p>
     * Populates the data fields with the DataFormatInfoDTO provided.
     * </p>
     *
     * @param df
     *            the DataFormatInfoDTO to use.
     *
     * @throws NullPointerException
     *             DOCUMENT ME!
     *
     * @see org.vfny.geoserver.config.DataStructure#loadDTO(java.lang.Object)
     */
    public void update(CoverageStoreInfoDTO df) {
        if (df == null) {
            throw new NullPointerException("CoverageStoreInfo Data Transfer Object required");
        }

        id = df.getId();
        nameSpaceId = df.getNameSpaceId();
        type = df.getType();
        url = df.getUrl();
        enabled = df.isEnabled();
        _abstract = df.getAbstract();
    }

    /**
     * Implement toDTO.
     *
     * <p>
     * Create a DataFormatInfoDTO from the current config object.
     * </p>
     *
     * @return The data represented as a DataFormatInfoDTO
     *
     * @see org.vfny.geoserver.config.DataStructure#toDTO()
     */
    public CoverageStoreInfoDTO toDTO() {
        CoverageStoreInfoDTO ds = new CoverageStoreInfoDTO();
        ds.setId(id);
        ds.setNameSpaceId(nameSpaceId);
        ds.setType(type);
        ds.setUrl(url);
        ds.setEnabled(enabled);
        ds.setAbstract(_abstract);

        return ds;
    }

    /**
     * getAbstract purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @return
     */
    public String getAbstract() {
        return _abstract;
    }

    /**
     * isEnabled purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @return
     */
    public boolean isEnabled() {
        return enabled;
    }

    /**
     * This is the Format ID
     *
     * <p>
     *
     * </p>
     *
     * @return
     */
    public String getId() {
        return id;
    }

    /**
     * getTitle purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @return
     */
    public String getTitle() {
        return title;
    }

    /**
     * setAbstract purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @param string
     */
    public void setAbstract(String string) {
        if (string != null) {
            _abstract = string;
        }
    }

    /**
     * setEnabled purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @param b
     */
    public void setEnabled(boolean b) {
        enabled = b;
    }

    /**
     * setTitle purpose.
     *
     * <p>
     * Description ...
     * </p>
     *
     * @param string
     *
     * @uml.property name="title"
     */
    public void setTitle(String string) {
        if (string != null) {
            title = string;
        }
    }

    // Access to Dyanmic Content

    /**
     * It would be nice if we did not throw this away - but life is too short
     *
     * @return Real Format generated by this CoverageStoreConfig
     *
     * @throws IOException
     *             If Format could not be aquired
     */
    public Format findDataFormat(ServletContext sc) throws IOException {
        return CoverageStoreUtils.acquireFormat(type, sc);
    }

    /**
     * @return Returns the factory.
     */
    public Format getFactory() {
        return factory;
    }

    /**
     * @param factory
     *            The factory to set.
     */
    public void setFactory(Format factory) {
        this.factory = factory;
    }

    /**
     * @return Returns the type.
     */
    public String getType() {
        return type;
    }

    /**
     * @param type
     *            The type to set.
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * @return Returns the url.
     */
    public String getUrl() {
        return url;
    }

    /**
     * @param url
     *            The url to set.
     */
    public void setUrl(String url) {
        this.url = url;
    }

    public String getNameSpaceId() {
        return nameSpaceId;
    }

    public void setNameSpaceId(String nameSpaceId) {
        this.nameSpaceId = nameSpaceId;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -