Package org.geotools.gml.producer
Class FeatureTransformer.FeatureTranslator
- Object
-
- TransformerBase.TranslatorSupport
-
- FeatureTranslator
-
- All Implemented Interfaces:
FeatureCollectionIteration.Handler,Translator
- Enclosing class:
- FeatureTransformer
public class FeatureTransformer.FeatureTranslator extends TransformerBase.TranslatorSupport implements FeatureCollectionIteration.Handler
Outputs gml without any fancy indents or newlines.
-
-
Field Summary
Fields Modifier and Type Field Description protected GeometryTransformer.GeometryTranslatorgeometryTranslator-
Fields inherited from class TransformerBase.TranslatorSupport
contentHandler, nsSupport, NULL_ATTS, schemaLocation
-
-
Constructor Summary
Constructors Constructor Description FeatureTranslator(ContentHandler handler, String prefix, String ns, FeatureTransformer.FeatureTypeNamespaces types, TransformerBase.SchemaLocationSupport schemaLoc)Constructor with handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected GeometryTransformer.GeometryTranslatorcreateGeometryTranslator(ContentHandler handler)Method to be subclassed to return a custom geometry translator, mostly for gml3 geometry support.protected GeometryTransformer.GeometryTranslatorcreateGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding)protected GeometryTransformer.GeometryTranslatorcreateGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding, boolean useDummyZ)protected GeometryTransformer.GeometryTranslatorcreateGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding, int dimension)Set up a GeometryTranslator for working with content of the indicate dimension.voidencode(Object o)Encode the object.protected AttributesencodeFeatureId(Feature f)voidendFeature(Feature f)Sends sax for the ending of a feature.voidendFeatureCollection()voidendFeatureCollection(FeatureCollection<?,?> collection)Sends sax for the ending of a feature collection.FeatureTransformer.FeatureTypeNamespacesgetFeatureTypeNamespaces()voidhandleAttribute(PropertyDescriptor descriptor, Object value)handles sax for an attribute.voidhandleFeature(Feature f)Handles sax for a feature.voidhandleFeatureCollection(FeatureCollection<?,?> collection)Prints up the gml for a featurecollection.voidhandleFeatureIterator(SimpleFeatureIterator iterator)voidhandleFeatureReader(FeatureReader<SimpleFeatureType,SimpleFeature> reader)voidsetLockId(String lockId)voidstartFeatureCollection()voidwriteBounds(BoundingBox bounds)writes thegml:boundedByelement to output based onfc.getBounds()voidwriteNullBounds()writes null bounds to the output-
Methods inherited from class TransformerBase.TranslatorSupport
abort, addNamespaceDeclarations, cdata, chars, comment, commit, createAttributes, element, element, elementSafe, end, getDefaultNamespace, getDefaultPrefix, getNamespaceSupport, getSchemaLocationSupport, mark, reset, start, start
-
-
-
-
Field Detail
-
geometryTranslator
protected GeometryTransformer.GeometryTranslator geometryTranslator
-
-
Constructor Detail
-
FeatureTranslator
public FeatureTranslator(ContentHandler handler, String prefix, String ns, FeatureTransformer.FeatureTypeNamespaces types, TransformerBase.SchemaLocationSupport schemaLoc)
Constructor with handler.- Parameters:
handler- the handler to use.prefix- prefixns- namespacetypes- Capture namespace and prefix information for typesschemaLoc- Schema location information
-
-
Method Detail
-
createGeometryTranslator
protected GeometryTransformer.GeometryTranslator createGeometryTranslator(ContentHandler handler)
Method to be subclassed to return a custom geometry translator, mostly for gml3 geometry support.
-
createGeometryTranslator
protected GeometryTransformer.GeometryTranslator createGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding)
-
createGeometryTranslator
protected GeometryTransformer.GeometryTranslator createGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding, boolean useDummyZ)
-
createGeometryTranslator
protected GeometryTransformer.GeometryTranslator createGeometryTranslator(ContentHandler handler, int numDecimals, boolean padWithZeros, boolean forceDecimalEncoding, int dimension)
Set up a GeometryTranslator for working with content of the indicate dimension.This method can be used by code explicitly wishing to output 2D ordinates.
- Returns:
- GeometryTranslator that will delegate a CoordinateWriter configured with the above parameters
- Since:
- 2.4.1
-
setLockId
public void setLockId(String lockId)
-
getFeatureTypeNamespaces
public FeatureTransformer.FeatureTypeNamespaces getFeatureTypeNamespaces()
-
encode
public void encode(Object o) throws IllegalArgumentException
Description copied from interface:TranslatorEncode the object.- Specified by:
encodein interfaceTranslator- Parameters:
o- The Object to encode.- Throws:
IllegalArgumentException- if the Object is not encodeable.
-
handleFeatureIterator
public void handleFeatureIterator(SimpleFeatureIterator iterator) throws IOException
- Throws:
IOException
-
handleFeatureReader
public void handleFeatureReader(FeatureReader<SimpleFeatureType,SimpleFeature> reader) throws IOException
- Throws:
IOException
-
startFeatureCollection
public void startFeatureCollection()
-
endFeatureCollection
public void endFeatureCollection()
-
handleFeatureCollection
public void handleFeatureCollection(FeatureCollection<?,?> collection)
Prints up the gml for a featurecollection.- Specified by:
handleFeatureCollectionin interfaceFeatureCollectionIteration.Handler- Parameters:
collection- FeatureCollection being encoded
-
writeBounds
public void writeBounds(BoundingBox bounds)
writes thegml:boundedByelement to output based onfc.getBounds()- Throws:
RuntimeException- if it is thorwn while writing the element or coordinates
-
writeNullBounds
public void writeNullBounds()
writes null bounds to the output- Throws:
RuntimeException- if it is thorwn while writing the element or coordinates
-
endFeatureCollection
public void endFeatureCollection(FeatureCollection<?,?> collection)
Sends sax for the ending of a feature collection.- Specified by:
endFeatureCollectionin interfaceFeatureCollectionIteration.Handler- Parameters:
collection- Feature collection we have just finished encoding
-
endFeature
public void endFeature(Feature f)
Sends sax for the ending of a feature.- Specified by:
endFeaturein interfaceFeatureCollectionIteration.Handler- Parameters:
f- Feature (implementation assume a SimpleFeature)- Throws:
RuntimeException- if something goes wrong during encode it is wrapped up as a generic runtime exception
-
handleAttribute
public void handleAttribute(PropertyDescriptor descriptor, Object value)
handles sax for an attribute.- Specified by:
handleAttributein interfaceFeatureCollectionIteration.Handler- Parameters:
descriptor- Property descriptorvalue- Value being encoded for this property- Throws:
RuntimeException- Any problems are bundled up in a generic runtime exception
-
handleFeature
public void handleFeature(Feature f)
Handles sax for a feature.Please take care when considering the prefix/namespace for the feature. It is defined by either:
- the FeatureType using type.getName().getNamespaceURI() and the user data entry for "prefix".
- FeatureTypeNamespaces as provided to the constructor
- Specified by:
handleFeaturein interfaceFeatureCollectionIteration.Handler- Parameters:
f- Feature being encoded- Throws:
RuntimeException- Used to report any troubles during encoding
-
encodeFeatureId
protected Attributes encodeFeatureId(Feature f)
-
-