Class TLcdWFSTransactionUpdateProperty

java.lang.Object
com.luciad.ogc.wfs.TLcdWFSTransactionUpdateProperty

public final class TLcdWFSTransactionUpdateProperty extends Object
A class that represents one 'Property' of a WFS update transaction. A WFS update transaction request can contain multiple update actions; each update action has a filter to define the features that will be updated, and a list of 'Property' elements that define the changes that are to be made to these features.

Each of these 'Property' elements contains a reference to the property that should be updated, using an XPath expression, and the new value that should be assigned.

Since:
10.0
  • Constructor Details

    • TLcdWFSTransactionUpdateProperty

      public TLcdWFSTransactionUpdateProperty(List<TLcdDataProperty> aDataProperties, TLcdXMLXPathString aXPathString, Object aValue)
      Creates an update property with the given parameters. The list of predicates will be set to null.
      Parameters:
      aDataProperties - A list of TLcdDataProperty objects that correspond to aXPathString.
      aXPathString - An XPath that points to the value to be updated with aValue.
      aValue - The new value, or null to remove an existing value.
    • TLcdWFSTransactionUpdateProperty

      public TLcdWFSTransactionUpdateProperty(List<TLcdDataProperty> aDataProperties, List<Integer> aListIndices, TLcdXMLXPathString aXPathString, Object aValue)
      Creates an update property with the given parameters.

      If aPredicates is not null, it needs to contain a valid Integer for each TLcdDataProperty in aDataProperties but the last one. The last TLcdDataProperty in aDataProperties can have a matching predicate but it is not required, as it is possible to replace the entire list at once.

      Parameters:
      aDataProperties - A list of TLcdDataProperty objects that correspond to aXPathString.
      aListIndices - A list of Integers that matches aDataProperties in size.
      aXPathString - An XPath that points to the value to be updated with aValue.
      aValue - The new value, or null to remove an existing value.
  • Method Details

    • getReferenceAsPropertyList

      public List<TLcdDataProperty> getReferenceAsPropertyList()
      Returns the reference to the value that should be updated as a list of properties. These properties make up a path from the root node to the value that should be updated.

      In case one of the properties in the list, which is not the last property, is many-valued ( TLcdDataProperty.isCollection()) it should have a corresponding index in the list returned by getListIndices(). Otherwise the reference is undefined.

      In case the reference points to a many-valued property, but does not specify an index for that property the entire list will be replaced by the value of this TLcdWFSTransactionUpdateProperty.

      This list corresponds to a simplified form of XPaths where each child is the direct child of its parent node.

      This list is derived from the XPath that is returned by getReferenceAsXPath. The list is empty in case this XPath can not be parsed.

      Returns:
      A List of TLcdDataProperty objects.
      See Also:
    • getListIndices

      public List<Integer> getListIndices()
      Returns a list of indices that matches the list returned by getReferenceAsPropertyList(). This list can be null in case no indices are defined at all. The number of elements in the list matches the number of elements in the list returned by getReferenceAsPropertyList(). In case no index is defined for a property, the corresponding element in the list will be null.

      The index can be used to look up the correct element from the list of values that corresponds to a many-valued property. An index needs to be defined for each many-valued property in the list returned by getReferenceAsPropertyList() but the last one.

      Returns:
      A list of Integer objects or null.
      See Also:
    • getValue

      public Object getValue()
      Returns the value which should update the value pointed to by getReferenceAsPropertyList() and getReferenceAsXPath().
      Returns:
      A value which is compatible with the last TLcdDataProperty in the list returned by getReferenceAsPropertyList(), or null if the property should be deleted.
    • getReferenceAsXPath

      public TLcdXMLXPathString getReferenceAsXPath()
      Returns the original reference that was encoded in the WFS update request. This should correspond to the list of properties returned by getReferenceAsPropertyList().
      Returns:
      The XPath String as encoded in the WFS request.
      See Also: