## Uses of Class
org.apache.lucene.spatial3d.geom.PlanetModel

- Packages that use PlanetModel
  Package | Description
  --- | ---
  org.apache.lucene.spatial3d | Lucene field & query support for the spatial geometry implemented in `org.apache.lucene.spatial3d.geom`.
  org.apache.lucene.spatial3d.geom | Shapes implemented using 3D planar geometry.

- - ### Uses of PlanetModel in org.apache.lucene.spatial3d

    Fields in org.apache.lucene.spatial3d declared as PlanetModel
    Modifier and Type | Field and Description
    --- | ---
    `protected PlanetModel` | Geo3DPoint.`planetModel` Planet Model for this Geo3DPoint

    Methods in org.apache.lucene.spatial3d with parameters of type PlanetModel
    Modifier and Type | Method and Description
    --- | ---
    `static double` | Geo3DPoint.`decodeDimension(byte[] value, int offset, PlanetModel planetModel)` Decode single dimension
    `static void` | Geo3DPoint.`encodeDimension(double value, byte[] bytes, int offset, PlanetModel planetModel)` Encode single dimension
    `static Query` | Geo3DPoint.`newBoxQuery(String field, PlanetModel planetModel, double minLatitude, double maxLatitude, double minLongitude, double maxLongitude)` Create a query for matching a box.
    `static Query` | Geo3DPoint.`newDistanceQuery(String field, PlanetModel planetModel, double latitude, double longitude, double radiusMeters)` Create a query for matching points within the specified distance of the supplied location.
    `static SortField` | Geo3DDocValuesField.`newDistanceSort(String field, double latitude, double longitude, double maxRadiusMeters, PlanetModel planetModel)` Creates a SortField for sorting by distance within a circle.
    `static Query` | Geo3DPoint.`newLargePolygonQuery(String field, PlanetModel planetModel, Polygon... polygons)` Create a query for matching a large polygon.
    `static SortField` | Geo3DDocValuesField.`newOutsideBoxSort(String field, double minLatitude, double maxLatitude, double minLongitude, double maxLongitude, PlanetModel planetModel)` Creates a SortField for sorting by outside distance from a box.
    `static SortField` | Geo3DDocValuesField.`newOutsideDistanceSort(String field, double latitude, double longitude, double maxRadiusMeters, PlanetModel planetModel)` Creates a SortField for sorting by outside distance from a circle.
    `static SortField` | Geo3DDocValuesField.`newOutsideLargePolygonSort(String field, PlanetModel planetModel, Polygon... polygons)` Creates a SortField for sorting by outside distance from a large polygon.
    `static SortField` | Geo3DDocValuesField.`newOutsidePathSort(String field, double[] pathLatitudes, double[] pathLongitudes, double pathWidthMeters, PlanetModel planetModel)` Creates a SortField for sorting by outside distance from a path.
    `static SortField` | Geo3DDocValuesField.`newOutsidePolygonSort(String field, PlanetModel planetModel, Polygon... polygons)` Creates a SortField for sorting by outside distance from a polygon.
    `static Query` | Geo3DPoint.`newPathQuery(String field, double[] pathLatitudes, double[] pathLongitudes, double pathWidthMeters, PlanetModel planetModel)` Create a query for matching a path.
    `static SortField` | Geo3DDocValuesField.`newPathSort(String field, double[] pathLatitudes, double[] pathLongitudes, double pathWidthMeters, PlanetModel planetModel)` Creates a SortField for sorting by distance along a path.
    `static Query` | Geo3DPoint.`newPolygonQuery(String field, PlanetModel planetModel, Polygon... polygons)` Create a query for matching a polygon.

    Constructors in org.apache.lucene.spatial3d with parameters of type PlanetModel
    Constructor and Description
    `Geo3DDocValuesField(String name, double x, double y, double z, PlanetModel planetModel)` Creates a new Geo3DDocValuesField with the specified x, y, and z
    `Geo3DDocValuesField(String name, GeoPoint point, PlanetModel planetModel)` Creates a new Geo3DDocValuesField with the specified x, y, and z
    `Geo3DPoint(String name, PlanetModel planetModel, double latitude, double longitude)` Creates a new Geo3DPoint field with the specified latitude, longitude (in degrees), given a planet model.
    `Geo3DPoint(String name, PlanetModel planetModel, double x, double y, double z)` Creates a new Geo3DPoint field with the specified x,y,z, and given planet model.

  - ### Uses of PlanetModel in org.apache.lucene.spatial3d.geom

    Fields in org.apache.lucene.spatial3d.geom declared as PlanetModel
    Modifier and Type | Field and Description
    --- | ---
    `static PlanetModel` | PlanetModel.`CLARKE_1866` Planet model corresponding to Clarke 1866 ellipsoid
    `protected PlanetModel` | BasePlanetObject.`planetModel` This is the planet model embedded in all objects derived from this class.
    `static PlanetModel` | PlanetModel.`SPHERE` Planet model corresponding to sphere.
    `static PlanetModel` | PlanetModel.`WGS84` Planet model corresponding to WGS84 ellipsoid

    Methods in org.apache.lucene.spatial3d.geom that return PlanetModel
    Modifier and Type | Method and Description
    --- | ---
    `PlanetModel` | PlanetObject.`getPlanetModel()` Returns the `PlanetModel` provided when this shape was created.
    `PlanetModel` | BasePlanetObject.`getPlanetModel()`

    Methods in org.apache.lucene.spatial3d.geom with parameters of type PlanetModel
    Modifier and Type | Method and Description
    --- | ---
    `Bounds` | Bounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)` Add a horizontal plane to the bounds description.
    `Bounds` | XYZBounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)` Add a horizontal plane to the bounds description.
    `Bounds` | LatLonBounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)`
    `Bounds` | Bounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)` Add the intersection between two planes to the bounds description.
    `Bounds` | XYZBounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)`
    `Bounds` | LatLonBounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)`
    `Bounds` | Bounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)` Add a general plane to the bounds description.
    `Bounds` | XYZBounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)`
    `Bounds` | LatLonBounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)`
    `Bounds` | Bounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` Add a vertical plane to the bounds description.
    `Bounds` | XYZBounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` Add a vertical plane to the bounds description.
    `Bounds` | LatLonBounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)`
    `double` | Plane.`arcDistance(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute arc distance from plane to a vector.
    `double` | Plane.`arcDistance(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute arc distance from plane to a vector expressed with a `GeoPoint`.
    `double` | ArcDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
    `double` | LinearDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
    `double` | LinearSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
    `double` | DistanceStyle.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` Compute the distance from a plane to a point.
    `double` | NormalSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
    `double` | NormalDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
    `double` | ArcDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
    `double` | LinearDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
    `double` | LinearSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
    `default double` | DistanceStyle.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` Compute the distance from a plane to a point.
    `double` | NormalSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
    `double` | NormalDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
    `boolean` | Plane.`crosses(PlanetModel planetModel, Plane q, GeoPoint[] notablePoints, GeoPoint[] moreNotablePoints, Membership[] bounds, Membership... moreBounds)` Determine whether the plane crosses another plane within the bounds provided.
    `GeoPoint[]` | Plane.`findArcDistancePoints(PlanetModel planetModel, double arcDistanceValue, GeoPoint startPoint, Membership... bounds)` Locate a point that is within the specified bounds and on the specified plane, that has an arcDistance as specified from the startPoint.
    `GeoPoint[]` | Plane.`findCrossings(PlanetModel planetModel, Plane q, Membership... bounds)` Find the points between two planes, where one plane crosses the other, given a set of bounds.
    `protected GeoPoint[]` | Plane.`findCrossings(PlanetModel planetModel, Plane q, Membership[] bounds, Membership[] moreBounds)` Find the points between two planes, where one plane crosses the other, given a set of bounds.
    `GeoPoint[]` | ArcDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
    `GeoPoint[]` | LinearDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
    `GeoPoint[]` | LinearSquaredDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
    `GeoPoint[]` | DistanceStyle.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)` Find a GeoPoint, at a specified distance from a starting point, within the specified bounds.
    `GeoPoint[]` | NormalSquaredDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
    `GeoPoint[]` | NormalDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
    `protected void` | Plane.`findIntersectionBounds(PlanetModel planetModel, Bounds boundsInfo, Plane q, Membership... bounds)` Record intersection points for planes with error bounds.
    `GeoPoint[]` | Plane.`findIntersections(PlanetModel planetModel, Plane q, Membership... bounds)` Find the intersection points between two planes, given a set of bounds.
    `protected GeoPoint[]` | Plane.`findIntersections(PlanetModel planetModel, Plane q, Membership[] bounds, Membership[] moreBounds)` Find the intersection points between two planes, given a set of bounds.
    `double` | ArcDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | LinearDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | LinearSquaredDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | DistanceStyle.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the maximum arc distance represented by the distance metric.
    `double` | NormalSquaredDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | NormalDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | ArcDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | LinearDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | LinearSquaredDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | DistanceStyle.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the minimum arc distance represented by that distance metric.
    `double` | NormalSquaredDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
    `double` | NormalDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
    `GeoPoint` | Plane.`getSampleIntersectionPoint(PlanetModel planetModel, Plane q)` Find a sample point on the intersection between two planes and the world.
    `GeoPoint[]` | Plane.`interpolate(PlanetModel planetModel, GeoPoint start, GeoPoint end, double[] proportions)` Find points on the boundary of the intersection of a plane and the unit sphere, given a starting point, and ending point, and a list of proportions of the arc (e.g.
    `boolean` | Plane.`intersects(PlanetModel planetModel, Plane q, GeoPoint[] notablePoints, GeoPoint[] moreNotablePoints, Membership[] bounds, Membership... moreBounds)` Determine whether the plane intersects another plane within the bounds provided.
    `boolean` | XYZBounds.`isLargestMaxX(PlanetModel planetModel)` Return true if maxX is as large as the planet model allows.
    `boolean` | XYZBounds.`isLargestMaxY(PlanetModel planetModel)` Return true if maxY is as large as the planet model allows.
    `boolean` | XYZBounds.`isLargestMaxZ(PlanetModel planetModel)` Return true if maxZ is as large as the planet model allows.
    `boolean` | XYZBounds.`isSmallestMinX(PlanetModel planetModel)` Return true if minX is as small as the planet model allows.
    `boolean` | XYZBounds.`isSmallestMinY(PlanetModel planetModel)` Return true if minY is as small as the planet model allows.
    `boolean` | XYZBounds.`isSmallestMinZ(PlanetModel planetModel)` Return true if minZ is as small as the planet model allows.
    `double` | Plane.`linearDistance(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute linear distance from plane to a vector.
    `double` | Plane.`linearDistance(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute linear distance from plane to a vector.
    `double` | Plane.`linearDistanceSquared(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute linear distance squared from plane to a vector.
    `double` | Plane.`linearDistanceSquared(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute linear distance squared from plane to a vector.
    `static GeoCircle` | GeoCircleFactory.`makeExactGeoCircle(PlanetModel planetModel, double latitude, double longitude, double radius, double accuracy)` Create an GeoCircle from a center, a radius and a desired accuracy.
    `static GeoArea` | GeoAreaFactory.`makeGeoArea(PlanetModel planetModel, double topLat, double bottomLat, double leftLon, double rightLon)` Create a GeoArea of the right kind given the specified bounds.
    `static GeoArea` | GeoAreaFactory.`makeGeoArea(PlanetModel planetModel, double minX, double maxX, double minY, double maxY, double minZ, double maxZ)` Create a GeoArea of the right kind given (x,y,z) bounds.
    `static GeoBBox` | GeoBBoxFactory.`makeGeoBBox(PlanetModel planetModel, double topLat, double bottomLat, double leftLon, double rightLon)` Create a geobbox of the right kind given the specified bounds.
    `static GeoBBox` | GeoBBoxFactory.`makeGeoBBox(PlanetModel planetModel, LatLonBounds bounds)` Create a geobbox of the right kind given the specified `LatLonBounds`.
    `static GeoCircle` | GeoCircleFactory.`makeGeoCircle(PlanetModel planetModel, double latitude, double longitude, double cutoffAngle)` Create a GeoCircle from a center and a cutoff angle.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoConcavePolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoConcavePolygon using the specified points.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoConcavePolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoConcavePolygon using the specified points and holes.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoConvexPolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoConvexPolygon using the specified points.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoConvexPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoConvexPolygon using the specified points and holes.
    `static GeoPath` | GeoPathFactory.`makeGeoPath(PlanetModel planetModel, double maxCutoffAngle, GeoPoint[] pathPoints)` Create a GeoPath of the right kind given the specified information.
    `static GeoPointShape` | GeoPointShapeFactory.`makeGeoPointShape(PlanetModel planetModel, double lat, double lon)` Create a GeoPointShape with the provided information.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, GeoPolygonFactory.PolygonDescription description)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, GeoPolygonFactory.PolygonDescription description, double leniencyValue)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
    `static GeoPolygon` | GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes, double leniencyValue)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
    `static GeoPolygon` | GeoS2ShapeFactory.`makeGeoS2Shape(PlanetModel planetModel, GeoPoint point1, GeoPoint point2, GeoPoint point3, GeoPoint point4)` Creates a convex polygon with 4 planes by providing 4 points in CCW.
    `static GeoPolygon` | GeoPolygonFactory.`makeLargeGeoPolygon(PlanetModel planetModel, List<GeoPolygonFactory.PolygonDescription> shapesList)` Create a large GeoPolygon.
    `static XYZSolid` | XYZSolidFactory.`makeXYZSolid(PlanetModel planetModel, double minX, double maxX, double minY, double maxY, double minZ, double maxZ)` Create a XYZSolid of the right kind given (x,y,z) bounds.
    `static XYZSolid` | XYZSolidFactory.`makeXYZSolid(PlanetModel planetModel, XYZBounds bounds)` Create a XYZSolid of the right kind given (x,y,z) bounds.
    `Bounds` | Bounds.`noBound(PlanetModel planetModel)` Signal that there is no bound whatsoever.
    `Bounds` | XYZBounds.`noBound(PlanetModel planetModel)`
    `Bounds` | LatLonBounds.`noBound(PlanetModel planetModel)`
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHeterogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` Read an array.
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHomogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` Read an array.
    `static SerializableObject` | SerializableObject.`readObject(PlanetModel planetModel, InputStream inputStream)` Read an object from a stream (for objects that need a PlanetModel).
    `static SerializableObject` | SerializableObject.`readObject(PlanetModel planetModel, InputStream inputStream, Class<?> clazz)` Instantiate a serializable object from a stream.
    `static GeoPoint[]` | SerializableObject.`readPointArray(PlanetModel planetModel, InputStream inputStream)` Read a point array.
    `static GeoPolygon[]` | SerializableObject.`readPolygonArray(PlanetModel planetModel, InputStream inputStream)` Read a polygon array.
    `void` | Plane.`recordBounds(PlanetModel planetModel, LatLonBounds boundsInfo, Membership... bounds)` Accumulate bounds information for this plane, intersected with the unit sphere.
    `void` | Plane.`recordBounds(PlanetModel planetModel, LatLonBounds boundsInfo, Plane p, Membership... bounds)` Accumulate bounds information for this plane, intersected with another plane and the world.
    `void` | Plane.`recordBounds(PlanetModel planetModel, XYZBounds boundsInfo, Membership... bounds)` Accumulate (x,y,z) bounds information for this plane, intersected with the unit sphere.
    `void` | Plane.`recordBounds(PlanetModel planetModel, XYZBounds boundsInfo, Plane p, Membership... bounds)` Accumulate (x,y,z) bounds information for this plane, intersected with another and the world.
    `protected static GeoPoint` | Plane.`reverseModify(PlanetModel planetModel, Vector point, double transX, double transY, double transZ, double sinRA, double cosRA, double sinHA, double cosHA)` Reverse modify a point to produce a GeoPoint in normal space.

    Constructors in org.apache.lucene.spatial3d.geom with parameters of type PlanetModel
    Constructor and Description
    `BasePlanetObject(PlanetModel planetModel)` Constructor creating class instance given a planet model.
    `GeoBaseCompositeShape(PlanetModel planetModel)` Constructor.
    `GeoBaseCompositeShape(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` Constructor for deserialization.
    `GeoBaseDistanceShape(PlanetModel planetModel)` Constructor.
    `GeoBaseMembershipShape(PlanetModel planetModel)` Constructor.
    `GeoBaseShape(PlanetModel planetModel)` Constructor.
    `GeoCompositeAreaShape(PlanetModel planetModel)` Constructor.
    `GeoCompositeAreaShape(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
    `GeoCompositeMembershipShape(PlanetModel planetModel)` Constructor.
    `GeoCompositeMembershipShape(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
    `GeoCompositePolygon(PlanetModel planetModel)` Constructor.
    `GeoCompositePolygon(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
    `GeoDegenerateVerticalLine(PlanetModel planetModel, double topLat, double bottomLat, double longitude)` Accepts only values in the following ranges: lat: `-PI/2 -> PI/2`, longitude: `-PI -> PI`
    `GeoDegenerateVerticalLine(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
    `GeoPoint(PlanetModel planetModel, double lat, double lon)` Construct a GeoPoint from a latitude/longitude pair.
    `GeoPoint(PlanetModel planetModel, double sinLat, double sinLon, double cosLat, double cosLon)` Construct a GeoPoint from the trig functions of a lat and lon pair.
    `GeoPoint(PlanetModel planetModel, double sinLat, double sinLon, double cosLat, double cosLon, double lat, double lon)` Construct a GeoPoint from the trig functions of a lat and lon pair.
    `GeoPoint(PlanetModel planetModel, InputStream inputStream)` Construct a GeoPoint from an input stream.
    `Plane(PlanetModel planetModel, double sinLat)` Construct a horizontal plane at a specified Z.
    `SidedPlane(Vector p, PlanetModel planetModel, double sinLat)` Construct a sided plane from a point and a Z coordinate.

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.