Class XmlFeatureTypeMapping

Object
FeatureTypeMapping
XmlFeatureTypeMapping

public class XmlFeatureTypeMapping extends FeatureTypeMapping
Author:
Russell Petty (GeoScience Victoria), Rini Angreani (CSIRO Earth Science and Resource Engineering)
  • Field Details

    • itemXpath

      protected String itemXpath
  • Constructor Details

  • Method Details

    • getExpressionsIgnoreIndex

      public List<Expression> getExpressionsIgnoreIndex(XPathUtil.StepList targetPath)
    • getAttributeMappingsByExpression

      public List<AttributeMapping> getAttributeMappingsByExpression(Expression sourceExpression)
      Finds the attribute mappings for the given source expression.
      Overrides:
      getAttributeMappingsByExpression in class FeatureTypeMapping
      Returns:
      list of matching attribute mappings
    • getAttributeMappingByLabel

      public AttributeMapping getAttributeMappingByLabel(String label)
      Finds an attribute mapping by label.
      Parameters:
      label - The attribute mapping label.
      Returns:
      Attribute mapping that matches the label, or null.
    • getStringMapping

      public AttributeMapping getStringMapping(XPathUtil.StepList exactPath)
      Finds the attribute mapping for the target expression exactPath
      Parameters:
      exactPath - the xpath expression on the target schema to find the mapping for
      Returns:
      the attribute mapping that match 1:1 with exactPath or null if
    • populateFeatureData

      public void populateFeatureData() throws IOException
      Throws:
      IOException
    • getValue

      protected Expression getValue(String xpathPrefix, Expression node, AttributeMapping mapping)
    • findMappingsFor

      public List<Expression> findMappingsFor(XPathUtil.StepList propertyName, boolean includeNestedMappings)
      Looks up for attribute mappings matching the xpath expression propertyName.

      If any step in propertyName has index greater than 1, any mapping for the same property applies, regardless of the mapping. For example, if there are mappings for gml:name[1], gml:name[2] and gml:name[3], but propertyName is just gml:name, all three mappings apply.

      Overrides:
      findMappingsFor in class FeatureTypeMapping