Module pygw.geotools.simple_feature_type_builder

Source code
#
# Copyright (c) 2013-2022 Contributors to the Eclipse Foundation

#
# See the NOTICE file distributed with this work for additional information regarding copyright
# ownership. All rights reserved. This program and the accompanying materials are made available
# under the terms of the Apache License, Version 2.0 which accompanies this distribution and is
# available at http://www.apache.org/licenses/LICENSE-2.0.txt
# ===============================================================================================

from pygw.config import java_pkg
from pygw.base import GeoWaveObject

from .simple_feature_type import SimpleFeatureType
from .attribute_descriptor import AttributeDescriptor


class SimpleFeatureTypeBuilder(GeoWaveObject):
    """
    Builds `pygw.geotools.simple_feature_type.SimpleFeatureType` instances.
    """

    def __init__(self):
        self.attributes = []
        super().__init__(java_pkg.org.geotools.feature.simple.SimpleFeatureTypeBuilder())

    def set_name(self, name):
        """
        Sets the name of the feature type.

        Args:
            name (str): The name to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setName(name)
        return self

    def set_namespace_uri(self, namespace_uri):
        """
        Sets the namespace URI of the feature type.

        Args:
            namespace_uri (str): The namespace URI to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setNamespaceURI(namespace_uri)
        return self

    def set_srs(self, srs):
        """
        Sets the spatial reference system of the feature type.

        Args:
            srs (str): The spatial reference system to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setSRS(srs)
        return self

    def add(self, attribute_descriptor):
        """
        Adds an attribute to the feature type.

        Args:
            attribute_descriptor (pygw.geotools.attribute_descriptor.AttributeDescriptor): The attribute to add.
        Returns:
            This feature type builder.
        """
        if isinstance(attribute_descriptor, AttributeDescriptor):
            self.attributes.append(attribute_descriptor)
            self._java_ref.add(attribute_descriptor._java_ref)
            return self
        else:
            raise ValueError("attribute_descriptor should be of type AttributeDescriptor")

    def build_feature_type(self):
        """
        Builds the configured feature type.

        Returns:
            A `pygw.geotools.simple_feature_type.SimpleFeatureType` with the given configuration.
        """
        return SimpleFeatureType(self._java_ref.buildFeatureType(), self.attributes)

Classes

class SimpleFeatureTypeBuilder

Builds SimpleFeatureType instances.

Source code
class SimpleFeatureTypeBuilder(GeoWaveObject):
    """
    Builds `pygw.geotools.simple_feature_type.SimpleFeatureType` instances.
    """

    def __init__(self):
        self.attributes = []
        super().__init__(java_pkg.org.geotools.feature.simple.SimpleFeatureTypeBuilder())

    def set_name(self, name):
        """
        Sets the name of the feature type.

        Args:
            name (str): The name to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setName(name)
        return self

    def set_namespace_uri(self, namespace_uri):
        """
        Sets the namespace URI of the feature type.

        Args:
            namespace_uri (str): The namespace URI to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setNamespaceURI(namespace_uri)
        return self

    def set_srs(self, srs):
        """
        Sets the spatial reference system of the feature type.

        Args:
            srs (str): The spatial reference system to use.
        Returns:
            This feature type builder.
        """
        self._java_ref.setSRS(srs)
        return self

    def add(self, attribute_descriptor):
        """
        Adds an attribute to the feature type.

        Args:
            attribute_descriptor (pygw.geotools.attribute_descriptor.AttributeDescriptor): The attribute to add.
        Returns:
            This feature type builder.
        """
        if isinstance(attribute_descriptor, AttributeDescriptor):
            self.attributes.append(attribute_descriptor)
            self._java_ref.add(attribute_descriptor._java_ref)
            return self
        else:
            raise ValueError("attribute_descriptor should be of type AttributeDescriptor")

    def build_feature_type(self):
        """
        Builds the configured feature type.

        Returns:
            A `pygw.geotools.simple_feature_type.SimpleFeatureType` with the given configuration.
        """
        return SimpleFeatureType(self._java_ref.buildFeatureType(), self.attributes)

Ancestors

Methods

def add(self, attribute_descriptor)

Adds an attribute to the feature type.

Args

attribute_descriptor : AttributeDescriptor
The attribute to add.

Returns

This feature type builder.

Source code
def add(self, attribute_descriptor):
    """
    Adds an attribute to the feature type.

    Args:
        attribute_descriptor (pygw.geotools.attribute_descriptor.AttributeDescriptor): The attribute to add.
    Returns:
        This feature type builder.
    """
    if isinstance(attribute_descriptor, AttributeDescriptor):
        self.attributes.append(attribute_descriptor)
        self._java_ref.add(attribute_descriptor._java_ref)
        return self
    else:
        raise ValueError("attribute_descriptor should be of type AttributeDescriptor")
def build_feature_type(self)

Builds the configured feature type.

Returns

A SimpleFeatureType with the given configuration.

Source code
def build_feature_type(self):
    """
    Builds the configured feature type.

    Returns:
        A `pygw.geotools.simple_feature_type.SimpleFeatureType` with the given configuration.
    """
    return SimpleFeatureType(self._java_ref.buildFeatureType(), self.attributes)
def set_name(self, name)

Sets the name of the feature type.

Args

name : str
The name to use.

Returns

This feature type builder.

Source code
def set_name(self, name):
    """
    Sets the name of the feature type.

    Args:
        name (str): The name to use.
    Returns:
        This feature type builder.
    """
    self._java_ref.setName(name)
    return self
def set_namespace_uri(self, namespace_uri)

Sets the namespace URI of the feature type.

Args

namespace_uri : str
The namespace URI to use.

Returns

This feature type builder.

Source code
def set_namespace_uri(self, namespace_uri):
    """
    Sets the namespace URI of the feature type.

    Args:
        namespace_uri (str): The namespace URI to use.
    Returns:
        This feature type builder.
    """
    self._java_ref.setNamespaceURI(namespace_uri)
    return self
def set_srs(self, srs)

Sets the spatial reference system of the feature type.

Args

srs : str
The spatial reference system to use.

Returns

This feature type builder.

Source code
def set_srs(self, srs):
    """
    Sets the spatial reference system of the feature type.

    Args:
        srs (str): The spatial reference system to use.
    Returns:
        This feature type builder.
    """
    self._java_ref.setSRS(srs)
    return self

Inherited members