Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions src/main/java/com/google/maps/internal/StringJoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

package com.google.maps.internal;

import java.util.Objects;

/** Utility class to join strings. */
public class StringJoin {

Expand All @@ -30,6 +32,10 @@ public interface UrlValue {
private StringJoin() {}

public static String join(char delim, String... parts) {
return join(new String(new char[] {delim}), parts);
}

public static String join(CharSequence delim, String... parts) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < parts.length; i++) {
if (i != 0) {
Expand All @@ -40,6 +46,21 @@ public static String join(char delim, String... parts) {
return result.toString();
}

public static String join(char delim, Object... parts) {
return join(new String(new char[] {delim}), parts);
}

public static String join(CharSequence delim, Object... parts) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < parts.length; i++) {
if (i != 0) {
result.append(delim);
}
result.append(Objects.toString(parts[i]));
}
return result.toString();
}

public static String join(char delim, UrlValue... parts) {
String[] strings = new String[parts.length];
int i = 0;
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/google/maps/model/AddressComponent.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

package com.google.maps.model;

import static com.google.maps.internal.StringJoin.join;

import java.io.Serializable;

/**
Expand All @@ -41,4 +43,15 @@ public class AddressComponent implements Serializable {

/** Indicates the type of each part of the address. Examples include street number or country. */
public AddressComponentType[] types;

public String toString() {
StringBuilder sb = new StringBuilder("[AddressComponent: ");
sb.append("\"").append(longName).append("\"");
if (shortName != null) {
sb.append(" (\"").append(shortName).append("\")");
}
sb.append(" (").append(join(", ", (Object[]) types)).append(")");
sb.append("]");
return sb.toString();
}
}
22 changes: 22 additions & 0 deletions src/main/java/com/google/maps/model/AutocompletePrediction.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
package com.google.maps.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Objects;

/**
* Represents a single Autocomplete result returned from the Google Places API Web Service.
Expand Down Expand Up @@ -61,6 +63,10 @@ public static class MatchedSubstring {

/** The start position of the matched substring, measured in Unicode characters. */
public int offset;

public String toString() {
return String.format("(offset=%d, length=%d)", offset, length);
}
}

/**
Expand All @@ -83,5 +89,21 @@ public static class Term {

/** The text of the matched term. */
public String value;

public String toString() {
return String.format("(offset=%d, value=%s)", offset, value);
}
}

public String toString() {
return String.format(
"[AutocompletePrediction: \"%s\", placeId=%s, types=%s, terms=%s, "
+ "matchedSubstrings=%s, structuredFormatting=%s]",
description,
placeId,
Arrays.toString(types),
Arrays.toString(terms),
Arrays.toString(matchedSubstrings),
Objects.toString(structuredFormatting));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package com.google.maps.model;

import java.io.Serializable;
import java.util.Arrays;

/** The structured formatting info for a {@link com.google.maps.model.AutocompletePrediction}. */
public class AutocompleteStructuredFormatting implements Serializable {
Expand All @@ -30,4 +31,15 @@ public class AutocompleteStructuredFormatting implements Serializable {

/** The secondary text of a prediction, usually the location of the place. */
public String secondaryText;

public String toString() {
StringBuilder sb = new StringBuilder("(");
sb.append("\"").append(mainText).append("\"");
sb.append(" at ").append(Arrays.toString(mainTextMatchedSubstrings));
if (secondaryText != null) {
sb.append(", secondaryText=\"").append(secondaryText).append("\"");
}
sb.append(")");
return sb.toString();
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/google/maps/model/Bounds.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,8 @@ public class Bounds implements Serializable {
public LatLng northeast;
/** The southwest corner of the bounding box. */
public LatLng southwest;

public String toString() {
return String.format("[%s, %s]", northeast, southwest);
}
}
13 changes: 13 additions & 0 deletions src/main/java/com/google/maps/model/CellTower.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,19 @@ private CellTower(
/** The timing advance value. */
public Integer timingAdvance = null;

public String toString() {
return String.format(
"[CellTower: cellId=%s, locationAreaCode=%s, mobileCountryCode=%s, "
+ "mobileNetworkCode=%s, age=%s, signalStrength=%s, timingAdvance=%s]",
cellId,
locationAreaCode,
mobileCountryCode,
mobileNetworkCode,
age,
signalStrength,
timingAdvance);
}

public static class CellTowerBuilder {
private Integer _cellId = null;
private Integer _locationAreaCode = null;
Expand Down
21 changes: 21 additions & 0 deletions src/main/java/com/google/maps/model/DirectionsLeg.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,25 @@ public class DirectionsLeg implements Serializable {
* leg.
*/
public String endAddress;

public String toString() {
StringBuilder sb =
new StringBuilder(
String.format(
"[DirectionsLeg: \"%s\" -> \"%s\" (%s -> %s)",
startAddress, endAddress, startLocation, endLocation));
if (departureTime != null) {
sb.append(", departureTime=").append(departureTime);
}
if (arrivalTime != null) {
sb.append(", arrivalTime=").append(arrivalTime);
}
if (durationInTraffic != null) {
sb.append(", durationInTraffic=").append(durationInTraffic);
}
sb.append(", duration=").append(duration);
sb.append(", distance=").append(distance);
sb.append(": ").append(steps.length).append(" steps]");
return sb.toString();
}
}
16 changes: 16 additions & 0 deletions src/main/java/com/google/maps/model/DirectionsRoute.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package com.google.maps.model;

import java.io.Serializable;
import java.util.Arrays;

/**
* A Directions API result. When the Directions API returns results, it places them within a routes
Expand Down Expand Up @@ -71,4 +72,19 @@ public class DirectionsRoute implements Serializable {
* warnings yourself.
*/
public String[] warnings;

public String toString() {
String str =
String.format(
"[DirectionsRoute: \"%s\", %d legs, waypointOrder=%s, bounds=%s",
summary, legs.length, Arrays.toString(waypointOrder), bounds);
if (fare != null) {
str = str + ", fare=" + fare;
}
if (warnings != null && warnings.length > 0) {
str = str + ", " + warnings.length + " warnings";
}
str = str + "]";
return str;
}
}
15 changes: 15 additions & 0 deletions src/main/java/com/google/maps/model/DirectionsStep.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,19 @@ public class DirectionsStep implements Serializable {
* Details</a> for more detail.
*/
public TransitDetails transitDetails;

public String toString() {
StringBuilder sb = new StringBuilder("[DirectionsStep: ");
sb.append("\"").append(htmlInstructions).append("\"");
sb.append(String.format(" (%s -> %s", startLocation, endLocation)).append(")");
sb.append(" ").append(travelMode);
sb.append(", duration=").append(duration);
sb.append(", distance=").append(distance);
sb.append(", ").append(steps.length).append(" steps");
if (transitDetails != null) {
sb.append(", transitDetails=").append(transitDetails);
}
sb.append("]");
return sb.toString();
}
}
6 changes: 6 additions & 0 deletions src/main/java/com/google/maps/model/DistanceMatrix.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,10 @@ public DistanceMatrix(
this.destinationAddresses = destinationAddresses;
this.rows = rows;
}

public String toString() {
return String.format(
"DistanceMatrix: %d origins x %d destinations, %d rows",
originAddresses.length, destinationAddresses.length, rows.length);
}
}
14 changes: 14 additions & 0 deletions src/main/java/com/google/maps/model/DistanceMatrixElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,18 @@ public class DistanceMatrixElement implements Serializable {

/** {@code fare} contains information about the fare (that is, the ticket costs) on this route. */
public Fare fare;

public String toString() {
String str =
String.format(
"[DistanceMatrixElement %s distance=%s, duration=%s", status, distance, duration);
if (durationInTraffic != null) {
str = str + ", durationInTraffic=" + durationInTraffic;
}
if (fare != null) {
str = str + ", fare=" + fare;
}
str = str + "]";
return str;
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/google/maps/model/DistanceMatrixRow.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,8 @@ public class DistanceMatrixRow implements Serializable {

/** The results for this row, or individual origin. */
public DistanceMatrixElement[] elements;

public String toString() {
return String.format("[DistanceMatrixRow %d elements]", elements.length);
}
}
13 changes: 12 additions & 1 deletion src/main/java/com/google/maps/model/ElevationResult.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,23 @@

import java.io.Serializable;

/** An Elevation API result. */
/**
* An Elevation API result.
*
* <p>Units are in meters, per https://developers.google.com/maps/documentation/elevation/start.
*/
public class ElevationResult implements Serializable {

private static final long serialVersionUID = 1L;

/** Elevation in meters. */
public double elevation;
/** Location of the elevation data. */
public LatLng location;
/** Maximum distance between data points from which the elevation was interpolated, in meters. */
public double resolution;

public String toString() {
return String.format("(%s, %f m, resolution=%f m)", location, elevation, resolution);
}
}
6 changes: 6 additions & 0 deletions src/main/java/com/google/maps/model/EncodedPolyline.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,10 @@ public String getEncodedPath() {
public List<LatLng> decodePath() {
return PolylineEncoding.decode(points);
}

// Use the encoded point representation; decoding to get an alternate representation for
// individual points would be expensive.
public String toString() {
return String.format("[EncodedPolyline: %s]", points);
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/google/maps/model/Fare.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,8 @@ public class Fare implements Serializable {

/** The total fare amount, in the currency specified in {@link #currency}. */
public BigDecimal value;

public String toString() {
return String.format("%s %s", value, currency);
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/google/maps/model/FindPlaceFromText.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,8 @@ public class FindPlaceFromText implements Serializable {
private static final long serialVersionUID = 1L;

public PlacesSearchResult candidates[];

public String toString() {
return String.format("[FindPlaceFromText %d candidates]", candidates.length);
}
}
13 changes: 13 additions & 0 deletions src/main/java/com/google/maps/model/GeocodedWaypoint.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package com.google.maps.model;

import java.io.Serializable;
import java.util.Arrays;

/**
* A point in a Directions API response; either the origin, one of the requested waypoints, or the
Expand All @@ -26,6 +27,7 @@
public class GeocodedWaypoint implements Serializable {

private static final long serialVersionUID = 1L;

/** The status code resulting from the geocoding operation for this waypoint. */
public GeocodedWaypointStatus geocoderStatus;

Expand All @@ -40,4 +42,15 @@ public class GeocodedWaypoint implements Serializable {

/** The address types of the geocoding result used for calculating directions. */
public AddressType types[];

public String toString() {
StringBuilder sb = new StringBuilder("[GeocodedWaypoint");
sb.append(" ").append(geocoderStatus);
if (partialMatch) {
sb.append(" ").append("PARTIAL MATCH");
}
sb.append(" placeId=").append(placeId);
sb.append(", types=").append(Arrays.toString(types));
return sb.toString();
}
}
18 changes: 18 additions & 0 deletions src/main/java/com/google/maps/model/GeocodingResult.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package com.google.maps.model;

import java.io.Serializable;
import java.util.Arrays;

/** A result from a Geocoding API call. */
public class GeocodingResult implements Serializable {
Expand Down Expand Up @@ -74,4 +75,21 @@ public class GeocodingResult implements Serializable {

/** The Plus Code identifier for this place. */
public PlusCode plusCode;

public String toString() {
StringBuilder sb = new StringBuilder("[GeocodingResult");
if (partialMatch) {
sb.append(" PARTIAL MATCH");
}
sb.append(" placeId=").append(placeId);
sb.append(" ").append(geometry);
sb.append(", formattedAddress=").append(formattedAddress);
sb.append(", types=").append(Arrays.toString(types));
sb.append(", addressComponents=").append(Arrays.toString(addressComponents));
if (postcodeLocalities != null && postcodeLocalities.length > 0) {
sb.append(", postcodeLocalities=").append(Arrays.toString(postcodeLocalities));
}
sb.append("]");
return sb.toString();
}
}
Loading