GeoEco.Metadata.ClassMetadata

class GeoEco.Metadata.ClassMetadata(name, moduleMetadata=None, shortDescription=None, longDescription=None)

Bases: Metadata

Metadata that describes a Python class.

Parameters:
  • name (str) – Unqualified name of the class (without module or package names). Minimum length꞉ 1.

  • moduleMetadata (ModuleMetadata, optional) – ModuleMetadata for the module that contains this class. If None, the caller’s module is used.

  • shortDescription (str, optional) – One-line description, ideally as plain text (but reStructuredText is OK). Minimum length꞉ 1.

  • longDescription (str, optional) – Detailed description, formatted as reStructuredText. Minimum length꞉ 1.

Returns:

New ClassMetadata instance.

Return type:

ClassMetadata

Properties

property DocString

(str) Python docstring (the value used for the __doc__ attribute). Read only. Minimum length꞉ 1. The docstring is constructed dynamically from metadata. It uses the format described in Google’s Python Style Guide.

property IsExposedToPythonCallers

(bool) If True, the class is part of GeoEco’s Public API. Read only. The value of this property is determined by whether there are any methods or properties of the class that are part of the Public API. If not, this property will be False, and the class is considered part of GeoEco’s Internal API and not recommended for use by external callers.

property LongDescription

(str or None) Detailed description, formatted as reStructuredText. Minimum length꞉ 1. LongDescription is optional; if detailed information is not needed, you need only write a ShortDescription.

property Module

(ModuleMetadata) ModuleMetadata for the module that contains this class. Read only.

property Name

(str) Name, as provided to the constructor. Read only. Minimum length꞉ 1.

property Object

(object) Python object to which this metadata applies. Read only. The type the Python object depends on which type of metadata is involved:

Type of metadata

Type of the Object property

ModuleMetadata

ModuleType

ClassMetadata

type

PropertyMetadata

property

MethodMetadata

MethodType

property ShortDescription

(str or None) One-line description, ideally as plain text (but reStructuredText is OK). Minimum length꞉ 1. Keep the ShortDescription as concise as possible, ideally just one sentence. Do not include newline characters in the ShortDescription. Put detailed information in LongDescription (which can contain newlines).

Methods

ValidateMethodInvocation

Validates a classmethod's or instance method's arguments using the method's MethodMetadata.

ValidatePropertyAssignment

Validates a property's value using the property's PropertyMetadata.