Class AbstractComplexBinding

Object
AbstractComplexBinding
All Implemented Interfaces:
Binding, ComplexBinding
Direct Known Subclasses:
_axisDescriptionBinding, _ContentMetadataBinding, _CoverageDescriptionBinding, _DescribeCoverageBinding, _Filter_CapabilitiesBinding, _Filter_CapabilitiesBinding, _GetCapabilitiesBinding, _GetCoverageBinding, _keywordsBinding, _rangeSetBinding, AbstractComplexEMFBinding, AbstractDescriptionBaseTypeBinding, AbstractDescriptionTypeBinding, AbstractFeatureCollectionTypeBinding, AbstractFeatureTypeBinding, AbstractGeometricPrimitiveTypeBinding, AbstractGeometryBaseTypeBinding, AbstractGeometryTypeBinding, AbstractGeometryTypeBinding, AbstractGMLTypeBinding, AbstractMetaDataTypeBinding, AbstractRingPropertyTypeBinding, AbstractRingPropertyTypeBinding, AbstractRingTypeBinding, AbstractRingTypeBinding, AbstractSurfaceTypeBinding, AbstractSurfaceTypeBinding, AddressTypeBinding, AfterBinding, AnyInteractsBinding, ArcStringTypeBinding, ArcTypeBinding, Arithmetic_OperatorsTypeBinding, AxisDescriptionType_valuesBinding, AxisDescriptionTypeBinding, BaseSymbolizerBinding, BboxtypeBinding, BeforeBinding, BeginsBinding, BegunByBinding, BinaryComparisonOpTypeBinding, BinarySpatialOpTypeBinding, BinaryTemporalOpTypeBinding, BoundaryTypeBinding, BoundingShapeTypeBinding, BoundingShapeTypeBinding, CategorizeBinding, ChangeCaseBinding, CircleTypeBinding, CodeListTypeBinding, CodeTypeBinding, ColorMapBinding, ColorReplacementBinding, ColorStyleTypeBinding, Comparison_OperatorsTypeBinding, ComparisonOperatorsTypeBinding, ComplexDataTypeBinding, ConcatenateBinding, ContactTypeBinding, ContainerTypeBinding, CoverageOfferingBriefTypeBinding, CoverageOfferingTypeBinding, CoveragetypeBinding, CurveArrayPropertyTypeBinding, CurveSegmentArrayPropertyTypeBinding, CurveTypeBinding, DataTypeBinding, DCPTypeType_HTTPBinding, DCPTypeTypeBinding, DescriptionBinding, DirectPositionListTypeBinding, DirectPositionTypeBinding, DirectPositionTypeBinding, DistanceBufferTypeBinding, DocumentTypeBinding, DomainSetTypeBinding, DomainSubsetTypeBinding, DuringBinding, EndedByBinding, EndsBinding, EnvelopePropertyTypeBinding, EnvelopeTypeBinding, EnvelopeTypeBinding, EnvelopeWithTimePeriodTypeBinding, ExtendedDataTypeBinding, ExtensionTypeBinding, FeatureArrayPropertyTypeBinding, FeaturePropertyTypeBinding, FeatureTypeBinding, FilterTypeBinding, FolderBinding, FolderTypeBinding, FormatDateBinding, FormatNumberBinding, Function_NamesTypeBinding, Function_NameTypeBinding, FunctionsTypeBinding, FunctionTypeBinding, GeometryOperandsTypeBinding, GeometryPropertyTypeBindingBase, GeometryTypeBinding, GeopkgtypeBinding, GMLAbstractFeatureCollectionBaseTypeBinding, GMLAbstractFeatureCollectionTypeBinding, GMLAbstractFeatureTypeBinding, GMLAbstractGeometryCollectionBaseTypeBinding, GMLAbstractGeometryTypeBinding, GMLBoundingShapeTypeBinding, GMLBoxTypeBinding, GMLCoordinatesTypeBinding, GMLCoordTypeBinding, GMLFeatureAssociationTypeBinding, GMLGeometryAssociationTypeBinding, GMLGeometryCollectionTypeBinding, GMLGeometryPropertyTypeBinding, GMLLinearRingMemberTypeBinding, GMLLinearRingTypeBinding, GMLLineStringMemberTypeBinding, GMLLineStringPropertyTypeBinding, GMLLineStringTypeBinding, GMLMultiGeometryPropertyTypeBinding, GMLMultiLineStringPropertyTypeBinding, GMLMultiLineStringTypeBinding, GMLMultiPointPropertyTypeBinding, GMLMultiPointTypeBinding, GMLMultiPolygonPropertyTypeBinding, GMLMultiPolygonTypeBinding, GmlObjectIdTypeBinding, GMLPointMemberTypeBinding, GMLPointPropertyTypeBinding, GMLPointTypeBinding, GMLPolygonMemberTypeBinding, GMLPolygonPropertyTypeBinding, GMLPolygonTypeBinding, GridEnvelopeTypeBinding, GridLimitsTypeBinding, Gridsettype_gridsBinding, GridsettypeBinding, GridtypeBinding, GridTypeBinding, HistogramBinding, Id_CapabilitiesTypeBinding, InlineContentBinding, InterpolateBinding, InterpolationPointBinding, IntervalTypeBinding, KmlTypeBinding, LabelStyleTypeBinding, LanguagesBinding, LatLonBoxTypeBinding, LayertypeBinding, LinearRingPropertyTypeBinding, LinearRingTypeBinding, LinearRingTypeBinding, LinearRingTypeBinding, LineStringSegmentTypeBinding, LineStringTypeBinding, LineStringTypeBinding, LineStyleTypeBinding, LocationPropertyTypeBinding, LocationTypeBinding, LonLatEnvelopeBaseTypeBinding, LonLatEnvelopeTypeBinding, LookAtTypeBinding, LowerBoundaryTypeBinding, MapItemBinding, MeasureTypeBinding, MeasureTypeBinding, MeetsBinding, MetadataAssociationTypeBinding, MetadataLinkTypeBinding, MetaDataPropertyTypeBinding, MetadataTypeBinding, MetByBinding, MultiCurveTypeBinding, MultiGeometryPropertyTypeBinding, MultiGeometryTypeBinding, MultiGeometryTypeBinding, MultiLineStringTypeBinding, MultiPointTypeBinding, MultiPolygonTypeBinding, MultiSurfaceTypeBinding, NameBinding, ObjectTypeBinding, OGCAddBinding, OGCAndBinding, OGCBBOXTypeBinding, OGCBeyondBinding, OGCBinaryComparisonOpTypeBinding, OGCBinaryLogicOpTypeBinding, OGCBinaryOperatorTypeBinding, OGCBinarySpatialOpTypeBinding, OGCComparisonOpsTypeBinding, OGCContainsBinding, OGCCrossesBinding, OGCDisjointBinding, OGCDistanceBufferTypeBinding, OGCDistanceTypeBinding, OGCDivBinding, OGCDWithinBinding, OGCEqualsBinding, OGCExpressionTypeBinding, OGCFeatureIdTypeBinding, OGCFilterTypeBinding, OGCFunctionTypeBinding, OGCIntersectsBinding, OGCLiteralTypeBinding, OGCLogicOpsTypeBinding, OGCLowerBoundaryTypeBinding, OGCMulBinding, OGCNotBinding, OGCOrBinding, OGCOverlapsBinding, OGCPropertyIsBetweenTypeBinding, OGCPropertyIsEqualToBinding, OGCPropertyIsGreaterThanBinding, OGCPropertyIsGreaterThanOrEqualToBinding, OGCPropertyIsLessThanBinding, OGCPropertyIsLessThanOrEqualToBinding, OGCPropertyIsLikeTypeBinding, OGCPropertyIsNotEqualToBinding, OGCPropertyIsNullTypeBinding, OGCPropertyNameTypeBinding, OGCSpatialOpsTypeBinding, OGCSubBinding, OGCTouchesBinding, OGCUpperBoundaryTypeBinding, OGCWithinBinding, OnlineResourceTypeBinding, OutputTypeBinding, OverlappedByBinding, OverviewBinding, ParameterBinding, PlacemarkTypeBinding, PointArrayPropertyTypeBinding, PointTypeBinding, PointTypeBinding, PointTypeBinding, PolygonPatchTypeBinding, PolygonTypeBinding, PolygonTypeBinding, PolygonTypeBinding, PolyStyleTypeBinding, RangeSetTypeBinding, RangeSubsetType_axisSubsetBinding, RangeSubsetTypeBinding, RecodeBinding, RectifiedGridTypeBinding, ReferenceTypeBinding, ReferenceTypeBinding, RegionTypeBinding, ResourceIdTypeBinding, ResponsiblePartyTypeBinding, RingTypeBinding, Scalar_CapabilitiesTypeBinding, SchemaDataTypeBinding, SchemaTypeBinding, ServiceTypeBinding, SLDAnchorPointBinding, SLDBlueChannelBinding, SLDChannelSelectionBinding, SLDColorMapBinding, SLDColorMapEntryBinding, SLDContrastEnhancementBinding, SLDCssParameterBinding, SLDDisplacementBinding, SLDExtentBinding, SLDExternalGraphicBinding, SLDFeatureTypeConstraintBinding, SLDFeatureTypeStyleBinding, SLDFillBinding, SLDFontBinding, SLDGeometryBinding, SLDGraphicBinding, SLDGraphicFillBinding, SLDGraphicStrokeBinding, SLDGrayChannelBinding, SLDGreenChannelBinding, SLDHaloBinding, SLDHistogramBinding, SLDImageOutlineBinding, SLDInternationalStringBinding, SLDLabelPlacementBinding, SLDLayerFeatureConstraintsBinding, SLDLegendGraphicBinding, SLDLinePlacementBinding, SLDLineSymbolizerBinding, SLDMarkBinding, SLDNamedLayerBinding, SLDNamedStyleBinding, SLDNormalizeBinding, SLDOnlineResourceBinding, SLDOverlapBehaviorBinding, SLDParameterValueTypeBinding, SLDPerpendicularOffsetBinding, SLDPointPlacementBinding, SLDPointSymbolizerBinding, SLDPolygonSymbolizerBinding, SLDRasterSymbolizerBinding, SLDRedChannelBinding, SLDRemoteOWSBinding, SLDRuleBinding, SLDSelectedChannelTypeBinding, SLDShadedReliefBinding, SLDStrokeBinding, SLDStyledLayerDescriptorBinding, SLDSymbolizerBinding, SLDSymbolizerTypeBinding, SLDTextSymbolizerBinding, SLDUserLayerBinding, SLDUserStyleBinding, SLDVendorOptionBinding, SortByTypeBinding, SortPropertyTypeBinding, Spatial_CapabilitiesTypeBinding, Spatial_CapabilitiesTypeBinding, Spatial_OperatorsTypeBinding, SpatialDomainTypeBinding, SpatialOperatorsTypeBinding, SpatialOperatorTypeBinding, SpatialSubsetTypeBinding, StringLengthBinding, StringOrRefTypeBinding, StringPositionBinding, StyleTypeBinding, SubstringBinding, SupportedCRSsTypeBinding, SupportedFormatsTypeBinding, SupportedInterpolationsTypeBinding, SurfaceArrayPropertyTypeBinding, SurfacePatchArrayPropertyTypeBinding, SurfaceTypeBinding, SurfaceTypeBinding, SymbolizerTypeBinding, TContainsBinding, TelephoneTypeBinding, TEqualsBinding, TimeInstantPropertyTypeBinding, TimeInstantTypeBinding, TimePeriodTypeBinding, TimePeriodTypeBinding, TimePeriodTypeBinding, TimePositionTypeBinding, TimePositionTypeBinding, TimePositionTypeBinding, TimeSequenceTypeBinding, TimeSequenceTypeBinding, TOverlapsBinding, TrimBinding, TupleTypeBinding, TypedLiteralTypeBinding, UpperBoundaryTypeBinding, ValueEnumBaseTypeBinding, ValueEnumTypeBinding, ValueRangeTypeBinding, VectorTypeBinding, WCS_CapabilitiesTypeBinding, WCSCapabilityType_ExceptionBinding, WCSCapabilityType_RequestBinding, WCSCapabilityType_VendorSpecificCapabilitiesBinding, WCSCapabilityTypeBinding, XSAllBinding, XSAnnotatedBinding, XSAnyTypeBinding, XSAttributeBinding, XSAttributeGroupBinding, XSAttributeGroupRefBinding, XSComplexRestrictionTypeBinding, XSComplexTypeBinding, XSElementBinding, XSExplicitGroupBinding, XSExtensionTypeBinding, XSFacetBinding, XSGroupBinding, XSGroupRefBinding, XSKeybaseBinding, XSLocalComplexTypeBinding, XSLocalElementBinding, XSLocalSimpleTypeBinding, XSNamedAttributeGroupBinding, XSNamedGroupBinding, XSNarrowMaxMinBinding, XSNoFixedFacetBinding, XSNumFacetBinding, XSOpenAttrsBinding, XSRealGroupBinding, XSRestrictionTypeBinding, XSSimpleExplicitGroupBinding, XSSimpleExtensionTypeBinding, XSSimpleRestrictionTypeBinding, XSSimpleTypeBinding, XSTopLevelAttributeBinding, XSTopLevelComplexTypeBinding, XSTopLevelElementBinding, XSTopLevelSimpleTypeBinding, XSWildcardBinding

public abstract class AbstractComplexBinding extends Object implements ComplexBinding
Base class for complex bindings.
Author:
Justin Deoliveira, The Open Planning Project, jdeolive@openplans.org
  • Constructor Details

    • AbstractComplexBinding

      public AbstractComplexBinding()
  • Method Details

    • initializeChildContext

      public void initializeChildContext(ElementInstance childInstance, Node node, MutablePicoContainer context)
      Does nothing, subclasses should override this method.
      Specified by:
      initializeChildContext in interface ComplexBinding
      Parameters:
      childInstance - The child element instance
      node - The parse node for the parent element.
      context - the context in which the child element will be parsed.
    • initialize

      public void initialize(ElementInstance instance, Node node, MutablePicoContainer context)
      Does nothing, subclasses should override this method.
      Specified by:
      initialize in interface ComplexBinding
      Parameters:
      instance - The element being parsed.
      node - The node in the parse tree representing the element being parsed. It is important to note that at the time this method is called the node contains no child element nodes, only child attribute nodes.
      context - The container to be used as context for child binding.
    • getExecutionMode

      public int getExecutionMode()
      This implementation returns Binding.OVERRIDE.

      Subclasses should override to change this behaviour.

      Specified by:
      getExecutionMode in interface Binding
      Returns:
      The execution mode of the binding, one of the constants AFTER, BEFORE, or OVERRIDE.
      See Also:
    • parse

      public Object parse(ElementInstance instance, Node node, Object value) throws Exception
      Subclasses should override this method, the default implementation return null.
      Specified by:
      parse in interface ComplexBinding
      Parameters:
      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.
      Returns:
      The parsed object, or null if the component could not be parsed.
      Throws:
      Exception - Strategy objects should not attempt to handle any exceptions.
    • encode

      public Element encode(Object object, Document document, Element value) throws Exception
      Subclasses should override this method if need be, the default implementation returns value.
      Specified by:
      encode in interface ComplexBinding
      Parameters:
      object - The object being encoded.
      document - The document containing the encoded element.
      value - The object as encoded by the parent binding.
      Returns:
      The element for the objcet being encoded, or null
      Throws:
      Exception
    • getProperty

      public Object getProperty(Object object, QName name) throws Exception
      Subclasses should override this method if need be, the default implementation returns null.
      Specified by:
      getProperty in interface ComplexBinding
      Parameters:
      object - The object being encoded.
      name - The name of the property to obtain.
      Returns:
      The value of the property, or null.
      Throws:
      Exception
      See Also:
    • getProperties

      public List<Object[]> getProperties(Object object, XSDElementDeclaration element) throws Exception
      Subclasses should override this method if need be, the default implementation returns null.

      Note that this method only needs to be implemented for schema types which are open-ended in which the contents are not specifically specified by the schema.

      Specified by:
      getProperties in interface ComplexBinding
      Parameters:
      object - the object being encoded.
      Returns:
      A list of the properties for the object.
      Throws:
      Exception