Class ArcStringTypeBinding

  • All Implemented Interfaces:
    Comparable, Binding, ComplexBinding

    public class ArcStringTypeBinding
    extends AbstractComplexBinding
    implements Comparable
    Binding object for the type

      <complexType name="ArcStringType">
              <documentation>An ArcString is a curve segment that uses three-point circular arc interpolation.</documentation>
              <extension base="gml:AbstractCurveSegmentType">
                              <documentation>GML supports two different ways to specify the control points of a curve segment.
      1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
      2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least three.</documentation>
                          <choice maxOccurs="unbounded" minOccurs="3">
                              <element ref="gml:pos"/>
                              <element ref="gml:pointProperty"/>
                              <element ref="gml:pointRep">
                                      <documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
                          <element ref="gml:posList"/>
                          <element ref="gml:coordinates">
                                  <documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
                  <attribute fixed="circularArc3Points" name="interpolation" type="gml:CurveInterpolationType">
                          <documentation>The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism
      uses the control points and control parameters to determine the position of this curve segment. For an ArcString the interpolation is fixed as "circularArc3Points".</documentation>
                  <attribute name="numArc" type="integer" use="optional">
                          <documentation>The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1.</documentation>
    • Constructor Detail

      • ArcStringTypeBinding

        public ArcStringTypeBinding​(GeometryFactory gFactory,
                                    CoordinateSequenceFactory csFactory,
                                    ArcParameters arcParameters)
    • Method Detail

      • getTarget

        public QName getTarget()
        Specified by:
        getTarget in interface Binding
        The qualified name of the target for the binding.
      • getType

        public Class getType()
        Specified by:
        getType in interface Binding
        The java type this binding maps to.
      • parse

        public Object parse​(ElementInstance instance,
                            Node node,
                            Object value)
                     throws Exception
        Specified by:
        parse in interface ComplexBinding
        parse in class AbstractComplexBinding
        instance - The element being parsed.
        node - The node in the parse tree representing the element being parsed.
        value - The result of the parse from another strategy in the type hierarchy. Could be null if this is the first strategy being executed.
        The parsed object, or null if the component could not be parsed.
        Exception - Strategy objects should not attempt to handle any exceptions.
      • compareTo

        public int compareTo​(Object o)
        Specified by:
        compareTo in interface Comparable