Class TLcdDataObject

java.lang.Object
com.luciad.datamodel.TLcdDataObject
All Implemented Interfaces:
ILcdDataObject, ILcdCloneable, ILcdDeepCloneable, Cloneable
Direct Known Subclasses:
ALcdSLDLayer, ALcdSLDLayerStyle, ALcdSLDSymbolizer, TLcdAIXM51AbstractAIXMProperty, TLcdAIXM51Association, TLcdAIXM51Link, TLcdAIXM51Optional, TLcdAIXM51TextNote, TLcdAIXM51ValDepth, TLcdAIXM51ValDistance, TLcdAIXM51ValDistanceSigned, TLcdAIXM51ValDistanceVertical, TLcdAIXM51ValDuration, TLcdAIXM51ValFL, TLcdAIXM51ValFrequency, TLcdAIXM51ValLightIntensity, TLcdAIXM51ValPressure, TLcdAIXM51ValSpeed, TLcdAIXM51ValTemperature, TLcdAIXM51ValWeight, TLcdAIXM51XHTML, TLcdAtomCategory, TLcdAtomContent, TLcdAtomDateTime, TLcdAtomEntry, TLcdAtomFeed, TLcdAtomGenerator, TLcdAtomIcon, TLcdAtomId, TLcdAtomLink, TLcdAtomLogo, TLcdAtomPerson, TLcdAtomSource, TLcdAtomText, TLcdAtomUri, TLcdCSWAbstractQuery, TLcdCSWAbstractRecord, TLcdCSWAcknowledgement, TLcdCSWDistributedSearch, TLcdCSWEchoedRequest, TLcdCSWElementSetName, TLcdCSWGetRecordsResponse, TLcdCSWQueryConstraint, TLcdCSWRequestBase, TLcdCSWRequestStatus, TLcdCSWSearchResults, TLcdCSWTemporalExtent, TLcdDCElemSimpleLiteral, TLcdFeaturedDataObject, TLcdGML32AbstractCurveSegment, TLcdGML32AbstractFeatureMember, TLcdGML32AbstractGML, TLcdGML32AbstractMember, TLcdGML32AbstractMetaData, TLcdGML32AbstractMetadataProperty, TLcdGML32AbstractRing, TLcdGML32AbstractRingProperty, TLcdGML32AbstractSurfacePatch, TLcdGML32AffinePlacement, TLcdGML32AssociationRole, TLcdGML32Boolean, TLcdGML32BooleanProperty, TLcdGML32BoundingShape, TLcdGML32CategoryProperty, TLcdGML32Clothoid.RefLocation, TLcdGML32Code, TLcdGML32CodeList, TLcdGML32CodeOrNilReasonList, TLcdGML32Coordinates, TLcdGML32Count, TLcdGML32CountProperty, TLcdGML32CoverageFunction, TLcdGML32CurveArrayProperty, TLcdGML32CurveProperty, TLcdGML32CurveSegmentArrayProperty, TLcdGML32DataBlock, TLcdGML32DirectionDescription, TLcdGML32DirectionProperty, TLcdGML32DirectionVector, TLcdGML32DirectPosition, TLcdGML32DirectPositionList, TLcdGML32DomainSet, TLcdGML32Envelope, TLcdGML32FeatureArrayProperty, TLcdGML32FeatureProperty, TLcdGML32File, TLcdGML32Formula, TLcdGML32GeometricComplexProperty, TLcdGML32GeometricPrimitiveProperty, TLcdGML32GeometryArrayProperty, TLcdGML32GeometryProperty, TLcdGML32GridEnvelope, TLcdGML32GridFunction, TLcdGML32GridLimits, TLcdGML32HistoryProperty, TLcdGML32InlineProperty, TLcdGML32Knot, TLcdGML32KnotProperty, TLcdGML32LinearRingProperty, TLcdGML32LineStringSegmentArrayProperty, TLcdGML32LocationProperty, TLcdGML32MappingRule, TLcdGML32Measure, TLcdGML32MeasureList, TLcdGML32MeasureOrNilReasonList, TLcdGML32MetaDataProperty, TLcdGML32MultiCurveProperty, TLcdGML32MultiGeometryProperty, TLcdGML32MultiPointProperty, TLcdGML32MultiSolidProperty, TLcdGML32MultiSurfaceProperty, TLcdGML32PointArrayProperty, TLcdGML32PointProperty, TLcdGML32ProcedureProperty, TLcdGML32QuantityProperty, TLcdGML32RangeSet, TLcdGML32Reference, TLcdGML32Result, TLcdGML32RingProperty, TLcdGML32Rows, TLcdGML32Rows.Row, TLcdGML32SequenceRule, TLcdGML32Shell, TLcdGML32ShellProperty, TLcdGML32SolidArrayProperty, TLcdGML32SolidProperty, TLcdGML32StringOrRef, TLcdGML32SurfaceArrayProperty, TLcdGML32SurfacePatchArrayProperty, TLcdGML32SurfaceProperty, TLcdGML32TargetProperty, TLcdGML32TimeInstantProperty, TLcdGML32TimeIntervalLength, TLcdGML32TimePeriodProperty, TLcdGML32TimePosition, TLcdGML32TimePrimitiveProperty, TLcdGML32Tin.ControlPoint, TLcdGML32UnitOfMeasure, TLcdGML32ValueArrayProperty, TLcdGML32ValueProperty, TLcdISO19103Binary, TLcdISO19103RecordType, TLcdISO19103UnlimitedInteger, TLcdISO19115Anchor, TLcdISO19115Code, TLcdISO19115FileName, TLcdISO19115LocaleContainer, TLcdISO19115LocalisedCharacterString, TLcdISO19115MimeFileType, TLcdISO19115Optional, TLcdISO19115Resolution, TLcdISO19115ScopeDescription, TLcdISO19118Object, TLcdISO19118ObjectReference, TLcdKML22AbstractObject, TLcdKML22Boundary, TLcdKML22Change, TLcdKML22Create, TLcdKML22Delete, TLcdKML22ExtendedData, TLcdKML22Kml, TLcdKML22Metadata, TLcdKML22NetworkLinkControl, TLcdKML22Schema, TLcdKML22SimpleData, TLcdKML22SimpleField, TLcdKML22Snippet, TLcdKML22Update, TLcdKML22Vec2, TLcdNVG15Anchor, TLcdNVG15Base, TLcdNVG15ExtendedData, TLcdNVG15Model, TLcdNVG15Schema, TLcdNVG15SimpleData, TLcdNVG15SimpleField, TLcdNVG20ArcBandRing, TLcdNVG20CircularRing, TLcdNVG20Content, TLcdNVG20Content.TimeSpan, TLcdNVG20EllipticRing, TLcdNVG20Exclusion, TLcdNVG20ExtendedData, TLcdNVG20Extension, TLcdNVG20LinearRing, TLcdNVG20Model, TLcdNVG20RectangularRing, TLcdNVG20Schema, TLcdNVG20SimpleData, TLcdNVG20SimpleDataSection, TLcdNVG20SimpleField, TLcdOGCBBoxOperator, TLcdOGCBinaryComparisonOperator, TLcdOGCBinaryLogicOperator, TLcdOGCBinaryOperator, TLcdOGCBinarySpatialOperator, TLcdOGCBinaryTemporalOperator, TLcdOGCDistance, TLcdOGCDistanceBuffer, TLcdOGCFilter, TLcdOGCFilterCapabilities, TLcdOGCFunction, TLcdOGCIDFilterCapabilities, TLcdOGCIsBetweenOperator, TLcdOGCIsLikeOperator, TLcdOGCIsNullOperator, TLcdOGCLiteral, TLcdOGCNotOperator, TLcdOGCPropertyName, TLcdOGCResourceId, TLcdOGCResourceIdsOperator, TLcdOGCScalarFilterCapabilities, TLcdOGCSortBy, TLcdOGCSortProperty, TLcdOGCSpatialFilterCapabilities, TLcdOGCSpatialOperator, TLcdOGCTemporalFilterCapabilities, TLcdOGCTemporalOperator, TLcdOpenSearchDescription, TLcdOpenSearchDescription.Image, TLcdOpenSearchDescription.Url, TLcdOpenSearchQuery, TLcdOWSAbstractReferenceBase, TLcdOWSAdditionalParameter, TLcdOWSAddress, TLcdOWSAllowedValues, TLcdOWSAnyValue, TLcdOWSBoundingBox, TLcdOWSCapabilitiesBase, TLcdOWSCapabilitiesBase.Languages, TLcdOWSCode, TLcdOWSContact, TLcdOWSContentsBase, TLcdOWSDCP, TLcdOWSDescription, TLcdOWSDomainMetadata, TLcdOWSException, TLcdOWSExceptionReport, TLcdOWSGetResourceById, TLcdOWSHTTP, TLcdOWSKeywords, TLcdOWSLanguageString, TLcdOWSMetadata, TLcdOWSNoValues, TLcdOWSOnlineResource, TLcdOWSOperation, TLcdOWSOperationsMetadata, TLcdOWSRange, TLcdOWSResponsibleParty, TLcdOWSResponsiblePartySubset, TLcdOWSServiceProvider, TLcdOWSTelephone, TLcdOWSUnNamedDomain, TLcdOWSValue, TLcdOWSValuesReference, TLcdPanorama, TLcdSLDAnchorPoint, TLcdSLDChannelSelection, TLcdSLDColorMap, TLcdSLDColorMapEntry, TLcdSLDContrastEnhancement, TLcdSLDDescription, TLcdSLDDisplacement, TLcdSLDExtent, TLcdSLDExternalGraphic, TLcdSLDFeatureTypeConstraint, TLcdSLDFeatureTypeStyle, TLcdSLDFill, TLcdSLDFont, TLcdSLDFunction, TLcdSLDGeometry, TLcdSLDGraphic, TLcdSLDHalo, TLcdSLDHistogram, TLcdSLDImageOutline, TLcdSLDInlineContent, TLcdSLDInlineFeature, TLcdSLDInterpolationPoint, TLcdSLDLabelPlacement, TLcdSLDLayerFeatureConstraints, TLcdSLDLinePlacement, TLcdSLDMapItem, TLcdSLDMark, TLcdSLDNormalize, TLcdSLDOnlineResource, TLcdSLDOverlapBehavior, TLcdSLDParameterValue, TLcdSLDPointPlacement, TLcdSLDRemoteOWS, TLcdSLDRule, TLcdSLDSelectedChannel, TLcdSLDShadedRelief, TLcdSLDStroke, TLcdSLDStyledLayerDescriptor, TLcdSLDVendorOption, TLcdWCSProxy, TLcdWFSFeatureType, TLcdWFSFeatureTypeList, TLcdWFSGMLObjectType, TLcdWFSGMLObjectTypeList, TLcdWFSMetadataURL, TLcdWFSOperation, TLcdWFSOperationList, TLcdWFSOutputFormatList, TLcdXLinkSimpleLink

public class TLcdDataObject extends Object implements ILcdDataObject, ILcdCloneable, ILcdDeepCloneable
Default implementation of ILcdDataObject. This implementation stores the values of its properties in an Object array.
Since:
10.0
  • Constructor Details

    • TLcdDataObject

      public TLcdDataObject(TLcdDataType aType)
      Creates a new data object for the given type.
      Parameters:
      aType - the type for which to create a new data object
  • Method Details

    • getValue

      public Object getValue(TLcdDataProperty aProperty)
      Description copied from interface: ILcdDataObject

      Returns the value of the given property.

      If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).

      The property must not be null, and must be declared in the data object's type or in one of its super types. Otherwise an IllegalArgumentException is thrown.

      Specified by:
      getValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be returned
      Returns:
      the value of the given property for this data object
    • getDataType

      public TLcdDataType getDataType()
      Description copied from interface: ILcdDataObject
      Returns the type of this data object. This can never be null.
      Specified by:
      getDataType in interface ILcdDataObject
      Returns:
      the type of this data object
    • setValue

      public void setValue(TLcdDataProperty aProperty, Object aValue)
      Description copied from interface: ILcdDataObject

      Sets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.

      The given property must be declared in the data object's type or in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw an IllegalArgumentException.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be set
      aValue - the value to set
      See Also:
    • hasValue

      public boolean hasValue(TLcdDataProperty aProperty)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.

      • aProperty is from the right data type, and this instance has a value for it: returns true
      • aProperty is from the right data type, and this instance has no value for it: returns false
      • aProperty is not from the right data type: not allowed, you will get IllegalArgumentException
      • aProperty is null: not allowed, you will get NullPointerException

      A multivalued property is considered to have a value if it has at least one value.

      Specified by:
      hasValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which to return whether a value is present or not.
      Returns:
      true if this data object has a value for the given property, false otherwise.
    • clone

      public TLcdDataObject clone()
      Returns a deep clone of this object. This method delegates to clone(Map).
      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class Object
      Returns:
      a deep clone of this object
      See Also:
    • clone

      public TLcdDataObject clone(Map aObjectDictionary)
      Returns a deep clone of this object. If the clone is not already present in the dictionary, a new instance if created as follows:
      • First, a new instance is created using Java's clone() mechanism.
      • Then, all properties of this object are cloned and set on the newly created instance. A property is cloned as follows:
        • If the property value is an ILcdDataObject, the value is cloned by first creating a new instance via the value.getDataType().newInstance() method, and then cloning its properties one by one.
        • If the value implements ILcdDeepCloneable or ILcdCloneable then this interface is used to clone the value.
        • Otherwise, the property value is copied by reference.
      Specified by:
      clone in interface ILcdDeepCloneable
      Parameters:
      aObjectDictionary - the Object dictionary that keeps track of the objects for which a clone has already been made, and their corresponding clone Object.
      Returns:
      a deep clone of this object
    • getValue

      public Object getValue(String aPropertyName)
      Description copied from interface: ILcdDataObject

      Convenience method that returns the value of the property with the given name.

      If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy).

      See ILcdDataObject.getValue(TLcdDataProperty) for more information.

      Specified by:
      getValue in interface ILcdDataObject
      Parameters:
      aPropertyName - the name of the property of which the value is to be returned
      Returns:
      the value of the property with the given name
      See Also:
    • setValue

      public void setValue(String aPropertyName, Object aValue)
      Description copied from interface: ILcdDataObject

      Convenience method that sets the value of the property with the given name.

      If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy).

      See ILcdDataObject.setValue(TLcdDataProperty, Object) for more information.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aPropertyName - the name of the property of which the value is to be set
      aValue - the value to set
    • hasValue

      public boolean hasValue(String aPropertyName)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.
      See ILcdDataObject.hasValue(TLcdDataProperty) for more information.
      Specified by:
      hasValue in interface ILcdDataObject
      Parameters:
      aPropertyName - the name of the property for which to return whether a value is present or not.
      Returns:
      true if this data object has a value for the property with the given name, false otherwise.
    • toString

      public String toString()
      Overrides:
      toString in class Object