All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openlr.binary.writer.LocationReferenceWriterFactory Maven / Gradle / Ivy

The newest version!
package org.openlr.binary.writer;

public class LocationReferenceWriterFactory {
    public LocationReferenceWriter create() {
        StatusWriter statusWriter = new StatusWriter();
        IntegerWriter integerWriter = new IntegerWriter();
        CoordinateWriter coordinateWriter = new CoordinateWriter(integerWriter);
        AttributesWriter attributesWriter = new AttributesWriter();
        OffsetWriter offsetWriter = new OffsetWriter();

        LineLocationReferenceWriter lineLocationReferenceWriter = new LineLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                attributesWriter,
                offsetWriter);

        GeoCoordinateLocationReferenceWriter geoCoordinateLocationReferenceWriter = new GeoCoordinateLocationReferenceWriter(
                statusWriter,
                coordinateWriter);

        PointAlongLineLocationReferenceWriter pointAlongLineLocationReferenceWriter = new PointAlongLineLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                attributesWriter,
                offsetWriter);

        PointOfInterestWithAccessPointLocationReferenceWriter pointOfInterestWithAccessPointLocationReferenceWriter = new PointOfInterestWithAccessPointLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                attributesWriter,
                offsetWriter);

        CircleLocationReferenceWriter circleLocationReferenceWriter = new CircleLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                integerWriter);

        PolygonLocationReferenceWriter polygonLocationReferenceWriter = new PolygonLocationReferenceWriter(
                statusWriter,
                coordinateWriter);

        RectangleLocationReferenceWriter rectangleLocationReferenceWriter = new RectangleLocationReferenceWriter(
                statusWriter,
                coordinateWriter);

        GridLocationReferenceWriter gridLocationReferenceWriter = new GridLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                integerWriter);

        ClosedLineLocationReferenceWriter closedLineLocationReferenceWriter = new ClosedLineLocationReferenceWriter(
                statusWriter,
                coordinateWriter,
                attributesWriter);

        return new LocationReferenceWriter(
                lineLocationReferenceWriter,
                geoCoordinateLocationReferenceWriter,
                pointAlongLineLocationReferenceWriter,
                pointOfInterestWithAccessPointLocationReferenceWriter,
                circleLocationReferenceWriter,
                polygonLocationReferenceWriter,
                rectangleLocationReferenceWriter,
                gridLocationReferenceWriter,
                closedLineLocationReferenceWriter);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy