public class TLcdAIXM51GXYPainterEditorProvider extends Object implements ILcdGXYEditorProvider, ILcdGXYPainterProvider, ILcdGXYLabelPainterProvider, ILcdGXYLabelEditorProvider, ILcdCloneable
ILcdGXYEditor
, ILcdGXYPainter
, ILcdGXYLabelPainter
and ILcdGXYLabelEditorProvider
instances for AIXM 5.1 features.
This provider generally supports the elements returned by TLcdAIXM51AbstractAIXMMessage.elements()
,
but not every AIXM 5.1 feature type is supported.
The following types are currently supported:
For each supported feature type, default settings and styles are used to configure
the corresponding (label painters and (label) editors. By overriding
getGXYPainter(Object)
, getGXYEditor(Object)
,
getGXYLabelPainter(Object)
and/or getGXYLabelEditor(Object)
,
the rendering and editing behavior can be customized for each feature type.
The following default settings are used for each feature type:
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
//aixm51:AirportHeliportTimeSlice/aixm51:designator
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
//aixm51:DesignatedPointTimeSlice/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
TLcdAIXM51NavaidLabelPainter
TLcdGXYIconPainter
and TLcdSymbol.FILLED_RECT
//aixm51:UnitTimeSlice/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
lcd:getLinkedTimeSlice(/aixm51:RunwayBlastPadTimeSlice/aixm51:usedRunwayDirection)/aixm51:designator/text()
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYIconPainter
and TLcdSymbol.FILLED_RECT
//aixm51:RunwayCentrelinePointTimeSlice/aixm51:role
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
lcd:getLinkedTimeSlice(//aixm51:RunwayElementTimeSlice/aixm51:associatedRunway)/aixm51:designator
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
TLcdGXYCompositeCurvePainter
TLcdGXYIconPainter
"/aixm51:RunwayMarkingTimeSlice/aixm51:element/aixm51:MarkingElement/aixm51:colour",
"/aixm51:RunwayMarkingTimeSlice/aixm51:element/aixm51:MarkingElement/aixm51:style"
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
/aixm51:PassengerServiceTimeSlice/aixm51:type/text()
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
"lcd:join-string( /aixm51:AirportSuppliesServiceTimeSlice/aixm51:fuelSupply/aixm51:Fuel/aixm51:category, \", \")",
"lcd:join-string( /aixm51:AirportSuppliesServiceTimeSlice/aixm51:oilSupply/aixm51:Oil/aixm51:category, \", \")",
"lcd:join-string( /aixm51:AirportSuppliesServiceTimeSlice/aixm51:nitrogenSupply/aixm51:Nitrogen/aixm51:category, \", \")",
"lcd:join-string( /aixm51:AirportSuppliesServiceTimeSlice/aixm51:oxygenSupply/aixm51:Oxygen/aixm51:category, \", \")"
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
lcd:getLinkedTimeSlice(//aixm51:TaxiwayElementTimeSlice/aixm51:associatedTaxiway)/aixm51:designator
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
//aixm51:ApronElementTimeSlice/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYCompositeCurvePainter
lcd:getLinkedTimeSlice(//aixm51:RouteSegmentTimeSlice/aixm51:routeFormed)/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdAIXM51AirspaceLabelPainter
TLcdGXYCompositeCurvePainter
//aixm51:GeoBorderTimeSlice/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYCompositeCurvePainter
//aixm51:GuidanceLineTimeSlice/aixm51:designator
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYCompositeCurvePainter
//aixm51:name
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
"lcd:getLinkedTimeSlice(/aixm51:TouchDownLiftOffTimeSlice/aixm51:associatedAirportHeliport)/aixm51:designator/text()",
"/aixm51:TouchDownLiftOffTimeSlice/aixm51:surfaceProperties/aixm51:SurfaceCharacteristics/aixm51:composition/text()"
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
"lcd:getLinkedTimeSlice(/aixm51:TouchDownLiftOffSafeAreaTimeSlice/aixm51:protectedTouchDownLiftOff)/aixm51:designator/text()",
"/aixm51:TouchDownLiftOffSafeAreaTimeSlice/aixm51:surfaceProperties/aixm51:SurfaceCharacteristics/aixm51:composition/text()
-
see TLcdAIXM51XPathLabelPainter
TLcdGXYSurfacePainter
TLcdGXYCompositeCurvePainter
TLcdGXYIconPainter
and TLcdAIXM51SymbolProvider
//aixm51:VerticalStructureTimeSlice/aixm51:name
-
see TLcdAIXM51XPathLabelPainter
Constructor and Description |
---|
TLcdAIXM51GXYPainterEditorProvider()
Creates a new
TLcdAIXM51GXYPainterEditorProvider . |
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Redefines
Object.clone() to make it public. |
static TLcdSLDFeatureTypeStyle |
getDefaultSLDFeatureTypeStyle(TLcdDataType aFeatureType)
Returns a default SLD style that corresponds to the default style that is
used by the painter as far as that style can be represented with SLD.
|
ILcdGXYEditor |
getGXYEditor(Object aObject)
Provides an editor for each feature type supported by this class, and its corresponding timeslice type.
|
ILcdGXYLabelEditor |
getGXYLabelEditor(Object aObject)
Provides a
ILcdGXYLabelEditor for each feature type supported by this class. |
ILcdGXYLabelPainter |
getGXYLabelPainter(Object aObject)
Provides a
ILcdGXYLabelPainter for each feature type supported by this class. |
ILcdGXYPainter |
getGXYPainter(Object aObject)
Provides a painter for each feature type supported by this class, and its corresponding timeslice type.
|
TLcdSLDFeatureTypeStyle |
getSLDFeatureTypeStyle(TLcdDataType aFeatureType)
Returns an SLD feature type style that can be used to configure painting
for the given feature type.
|
ILcdAIXM51TimeSliceProvider |
getTimeSliceProvider()
Returns the time slice provider that is used by the painters of this
painter editor provider.
|
void |
setSLDFeatureTypeStyle(TLcdDataType aFeatureType,
TLcdSLDFeatureTypeStyle aFeatureStyle)
Sets the SLD feature type style that defines the visualization for the
given feature type.
|
void |
setTimeSliceProvider(ILcdAIXM51TimeSliceProvider aTimeSliceProvider)
Sets the time slice provider that will be used by painters that are
returned by this provider.
|
public TLcdAIXM51GXYPainterEditorProvider()
TLcdAIXM51GXYPainterEditorProvider
.public TLcdSLDFeatureTypeStyle getSLDFeatureTypeStyle(TLcdDataType aFeatureType)
setSLDFeatureTypeStyle(TLcdDataType, TLcdSLDFeatureTypeStyle)
method, it will be returned. Otherwise a style will be returned that
resembles the style that is internally used by the painter, as far as that
style can be represented using SLD.
The style supports styling of AIXM 5.1 features, and is primarily meant
for use with this painter. It is not guaranteed that it can be used with a
generic SLD painter without modification. It can be read and written with
the LuciadLightspeed SLD decoder/encoder.
The returned style can be customized, use the corresponding setter with the
changed style to use it for painting. Do note that styles returned by this
method are not guaranteed to remain the same across different versions
of LuciadLightspeed. It is very likely that the default styles will be improved over
time, or updated if new features are added to the SLD specifications.
The TLcdDataType
that defines the feature type can be
retrieved generically using the
ILcdDataModelDescriptor.getModelElementTypes()
method,
or the
ILcdDataObject.getDataType()
method. It is also possible to use one of
the constants that are available in TLcdAIXM51DataTypes
.
aFeatureType
- The feature type for which a style is to be retrieved. This type
has to be an extension of an AIXM 5.1 abstract feature.IllegalArgumentException
- In case aFeatureType is not an extension of an AIXM 5.1 abstract
feature.setSLDFeatureTypeStyle(TLcdDataType, TLcdSLDFeatureTypeStyle)
public static TLcdSLDFeatureTypeStyle getDefaultSLDFeatureTypeStyle(TLcdDataType aFeatureType)
aFeatureType
- A data type that is an extension of an AIXM 5.1 abstract feature
type.IllegalArgumentException
- In case aFeatureType is not an extension of an AIXM 5.1 abstract
feature.public void setSLDFeatureTypeStyle(TLcdDataType aFeatureType, TLcdSLDFeatureTypeStyle aFeatureStyle)
aFeatureType
- The feature type for which the style needs to be set. This type
has to be an extension of an AIXM 5.1 abstract feature.aFeatureStyle
- A valid SLD feature type style, or null to reset the painter to
the default style.IllegalArgumentException
- In case aFeatureType is not an extension of an AIXM 5.1 abstract
feature.getSLDFeatureTypeStyle(TLcdDataType)
public ILcdGXYEditor getGXYEditor(Object aObject)
A list of supported feature types can be found in the class documentation.
If a feature type is not supported, null
is returned.
getGXYEditor
in interface ILcdGXYEditorProvider
aObject
- object for which an editor should be returned; the object should at least be of type
TLcdAIXM51AbstractAIXMFeature
or TLcdAIXM51AbstractAIXMTimeSlice
null
otherwise.public ILcdGXYPainter getGXYPainter(Object aObject)
A list of supported feature types can be found in the class documentation.
If a feature type is not supported, null
is returned.
getGXYPainter
in interface ILcdGXYPainterProvider
aObject
- object for which a painter should be returned; the object should at least be of type
TLcdAIXM51AbstractAIXMFeature
or TLcdAIXM51AbstractAIXMTimeSlice
null
otherwise.public ILcdGXYLabelPainter getGXYLabelPainter(Object aObject)
ILcdGXYLabelPainter
for each feature type supported by this class.
A list of supported feature types can be found in the class documentation.
If a feature type is not supported, null
is returned.
getGXYLabelPainter
in interface ILcdGXYLabelPainterProvider
aObject
- object for which a label painter should be returned; the object should at least be of type
ILcdXMLSchemaElement
, and correspond to a feature type supported by this provider.null
otherwise.public ILcdGXYLabelEditor getGXYLabelEditor(Object aObject)
ILcdGXYLabelEditor
for each feature type supported by this class.
A list of supported feature types can be found in the class documentation.
If a feature type is not supported, null
is returned.
getGXYLabelEditor
in interface ILcdGXYLabelEditorProvider
aObject
- object for which a label editor should be returned; the object should at least be of type
TLcdAIXM51AbstractAIXMFeature
null
otherwise.ILcdGXYLabelEditor.setObject(java.lang.Object)
public void setTimeSliceProvider(ILcdAIXM51TimeSliceProvider aTimeSliceProvider)
aTimeSliceProvider
- A valid time slice provider or null.TLcdAIXM51Feature.setDefaultTimeSliceProvider(ILcdAIXM51TimeSliceProvider)
public ILcdAIXM51TimeSliceProvider getTimeSliceProvider()
TLcdAIXM51Feature.getDefaultTimeSliceProvider()
public Object clone()
ILcdGXYEditorProvider
Object.clone()
to make it public.clone
in interface ILcdCloneable
clone
in interface ILcdGXYEditorProvider
clone
in interface ILcdGXYLabelEditorProvider
clone
in interface ILcdGXYLabelPainterProvider
clone
in interface ILcdGXYPainterProvider
clone
in class Object
Object.clone()