Android Open Source - Mapyst Waypoint I D






From Project

Back to project page Mapyst.

License

The source code is released under:

Apache License

If you think the Android project Mapyst listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Mapyst//w w w .  ja  va 2  s.c o  m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.mapyst.route;

/*
 Class: Codes
 The location codes for a point. Includes building code, floor code, and index.
 Also includes constants for buildings and non-numerical floors.

 Author:
 Brandon Kase
 */
public class WaypointID {

  public final int buildingIndex;
  public final int floorIndex;
  public final int pointIndex;

  /*
   * Constructor: Codes
   * 
   * Parameters: buildingCode - The building code floorCode - The floor code
   * floorIndex - The index
   */
  public WaypointID(int buildingIndex, int floorIndex, int pointIndex) {
    this.buildingIndex = buildingIndex;
    this.floorIndex = floorIndex;
    this.pointIndex = pointIndex;
  }
  
  public WaypointID() {
    this.buildingIndex = -1;
    this.floorIndex = -1;
    this.pointIndex = -1;
  }

  /*
   * Function: parseWaypoint
   *
   * Parameters:
   * waypointString - waypoint in the form of "buildingIndex,floorIndex,pointIndex" 
   * 
   * Returns:
   * The WaypointID for the given string
   */
  public static WaypointID parseWaypoint(String waypointString) {
    String[] items = waypointString.split(",");
    
    int buildingIndex = Integer.parseInt(items[0]);
    int floorIndex = Integer.parseInt(items[1]);
    int pointIndex = Integer.parseInt(items[2]);

    return new WaypointID(buildingIndex, floorIndex, pointIndex);
  }

  /*
   * Function: equals Tests if two codes are equal
   * 
   * Parameters: obj - The other Codes
   * 
   * Returns: true if the two codes are equal, false otherwise
   */
  public boolean equals(Object obj) {
        if (!(obj instanceof WaypointID))
            return false;
    WaypointID other = (WaypointID) obj;
    return this.buildingIndex == other.buildingIndex
        && this.floorIndex == other.floorIndex
        && this.pointIndex == other.pointIndex;
  }

  /*
   * Function: hashCode HashCode algorithm from
   * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx Bob
   * Jenkins' "One-at-a-Time hash" (mostly)
   * 
   * Returns: The hashCode of the Codes
   */
  public int hashCode() {
    char[] idBytes = { (char) (buildingIndex), (char) (floorIndex),
        (char) (pointIndex) }; // it will always be composed of bytes
    int hash = 0;

        for (char idByte : idBytes) {
            hash += idByte;
            hash += (hash << 10);
            hash ^= (hash >> 6);
        }
    hash += (hash << 3);
    hash ^= (hash >> 11);
    hash += (hash << 15);

    return hash; // take the id and multiply it by a large prime
  }

  public int getPointIndex() {
    return this.pointIndex;
  }

  public int getFloorIndex() {
    return this.floorIndex;
  }

  public int getBuildingIndex() {
    return this.buildingIndex;
  }

  public String toString() {
    return "" + buildingIndex + "," + floorIndex + "," + pointIndex + "";
  }
}




Java Source Code List

com.mapyst.FileHandlerInterface.java
com.mapyst.android.AndroidFileHandler.java
com.mapyst.android.CampusLoader.java
com.mapyst.android.Compass.java
com.mapyst.android.DirectionsList.java
com.mapyst.android.Images.java
com.mapyst.android.LocationFinder.java
com.mapyst.android.MainScreen.java
com.mapyst.android.Mapyst.java
com.mapyst.android.Settings.java
com.mapyst.android.Splash.java
com.mapyst.android.asynctask.CampusLoaderTaskPrefs.java
com.mapyst.android.asynctask.CampusLoaderTask.java
com.mapyst.android.asynctask.RouteMakerTaskPrefs.java
com.mapyst.android.asynctask.RouteMakerTask.java
com.mapyst.android.ui.CenteredToastFactory.java
com.mapyst.android.ui.CompassOverlay.java
com.mapyst.android.ui.DirectionIcon.java
com.mapyst.android.ui.DirectionsListAdapter.java
com.mapyst.android.ui.DirectionsListItem.java
com.mapyst.android.ui.DrawingHelpers.java
com.mapyst.android.ui.Icon.java
com.mapyst.android.ui.LocationsAdapter.java
com.mapyst.android.ui.LocationsListView.java
com.mapyst.android.ui.RouteMapOverlay.java
com.mapyst.android.ui.SlidingScrollView.java
com.mapyst.android.ui.map.AnimatedMapZoomer.java
com.mapyst.android.ui.map.LocationBalloon.java
com.mapyst.android.ui.map.LocationChooserOverlay.java
com.mapyst.android.ui.map.MapUtils.java
com.mapyst.android.ui.map.MapViewLimiter.java
com.mapyst.android.ui.map.MapViewMover.java
com.mapyst.android.ui.map.OnMapTouchLimiterListener.java
com.mapyst.android.ui.map.PriorityMapView.java
com.mapyst.android.ui.map.ViewItemOverlay.java
com.mapyst.campus.Building.java
com.mapyst.campus.Campus.java
com.mapyst.campus.Floor.java
com.mapyst.campus.ListOfCampuses.java
com.mapyst.campus.Location_Type.java
com.mapyst.campus.Location.java
com.mapyst.route.Arc.java
com.mapyst.route.DataParser.java
com.mapyst.route.Direction.java
com.mapyst.route.DistanceCalculator.java
com.mapyst.route.GraphNode.java
com.mapyst.route.InterpretResult.java
com.mapyst.route.InterpretedInfo.java
com.mapyst.route.Interpreter.java
com.mapyst.route.LatLngPoint.java
com.mapyst.route.Prioritizable.java
com.mapyst.route.PriorityQ.java
com.mapyst.route.RouteFinder.java
com.mapyst.route.RoutePreferences.java
com.mapyst.route.Route.java
com.mapyst.route.ShortestPath.java
com.mapyst.route.Waypoint2D.java
com.mapyst.route.WaypointID.java
com.markupartist.android.widget.ActionBar.java
com.markupartist.android.widget.ScrollingTextView.java