// Path: device-apps/disc-golf/disc-golf-android/app/src/main/java/com/garmin/android/apps/samples/disgolf/AppConstants.java
// public class AppConstants {
// 
// 	public static final int KEY_MESSAGE_TYPE = -1;
// 	public static final int KEY_MESSAGE_PAYLOAD = -2;
// 	public static final int KEY_COURSE_ID = 0;
// 	public static final int KEY_COURSE_NAME = 1;
// 	public static final int KEY_COURSE_PAR = 2;
// 	public static final int KEY_COURSE_TEES_PLAYED = 3;
// 	public static final int KEY_PLAYERS = 4;
// 	public static final int KEY_PLAYER_NAME = 5;
// 	public static final int KEY_PLAYER_ID = 6;
// 	public static final int KEY_PLAYER_SCORES = 11;
// 	public static final int KEY_HOLES = 7;
// 	public static final int KEY_HOLE_NUMBER = 8;
// 	public static final int KEY_HOLE_PAR = 9;
// 	public static final int KEY_HOLE_DISTANCE = 10;
// 
// }


import java.util.HashMap;
import android.os.Parcel;
import android.os.Parcelable;
import com.garmin.android.apps.samples.disgolf.AppConstants;
import com.garmin.monkeybrains.serialization.MonkeyHash;
import com.garmin.monkeybrains.serialization.MonkeyType;
/**
 * Copyright 2015 by Garmin Ltd. or its subsidiaries.
 *
 * 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.garmin.android.apps.samples.disgolf.course;




public class Hole implements IQMonkeyConversion<Hole>, Parcelable {

	// ------------------------------------------------------------------------
    // TYPES
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC FIELDS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC INITIALIZERS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC METHODS
    // ------------------------------------------------------------------------

	public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
        @Override
		public Hole createFromParcel(Parcel in) {
            return new Hole(in);
        }

        @Override
		public Hole[] newArray(int size) {
            return new Hole[size];
        }
    };

    // ------------------------------------------------------------------------
    // FIELDS
    // ------------------------------------------------------------------------

	private final int mNumber;
	private final int mPar;
	private final int mDistance;

    // ------------------------------------------------------------------------
    // INITIALIZERS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // CONSTRUCTORS
    // ------------------------------------------------------------------------

	public Hole(int number, int par, int distance) {
		mNumber = number;
		mPar = par;
		mDistance = distance;
	}

	public Hole(Parcel in) {
		mNumber = in.readInt();
		mPar = in.readInt();
		mDistance = in.readInt();
	}

    // ------------------------------------------------------------------------
    // METHODS
    // ------------------------------------------------------------------------

	@Override
	public MonkeyType toMonkeyObject() {
		HashMap<Object, Object> returnVal = new HashMap<Object, Object>();
// Path: device-apps/disc-golf/disc-golf-android/app/src/main/java/com/garmin/android/apps/samples/disgolf/AppConstants.java
// public class AppConstants {
// 
// 	public static final int KEY_MESSAGE_TYPE = -1;
// 	public static final int KEY_MESSAGE_PAYLOAD = -2;
// 	public static final int KEY_COURSE_ID = 0;
// 	public static final int KEY_COURSE_NAME = 1;
// 	public static final int KEY_COURSE_PAR = 2;
// 	public static final int KEY_COURSE_TEES_PLAYED = 3;
// 	public static final int KEY_PLAYERS = 4;
// 	public static final int KEY_PLAYER_NAME = 5;
// 	public static final int KEY_PLAYER_ID = 6;
// 	public static final int KEY_PLAYER_SCORES = 11;
// 	public static final int KEY_HOLES = 7;
// 	public static final int KEY_HOLE_NUMBER = 8;
// 	public static final int KEY_HOLE_PAR = 9;
// 	public static final int KEY_HOLE_DISTANCE = 10;
// 
// }


// Path: device-apps/disc-golf/disc-golf-android/app/src/main/java/com/garmin/android/apps/samples/disgolf/course/Hole.java
import java.util.HashMap;
import android.os.Parcel;
import android.os.Parcelable;
import com.garmin.android.apps.samples.disgolf.AppConstants;
import com.garmin.monkeybrains.serialization.MonkeyHash;
import com.garmin.monkeybrains.serialization.MonkeyType;

/**
 * Copyright 2015 by Garmin Ltd. or its subsidiaries.
 *
 * 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.garmin.android.apps.samples.disgolf.course;




public class Hole implements IQMonkeyConversion<Hole>, Parcelable {

	// ------------------------------------------------------------------------
    // TYPES
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC FIELDS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC INITIALIZERS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // STATIC METHODS
    // ------------------------------------------------------------------------

	public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
        @Override
		public Hole createFromParcel(Parcel in) {
            return new Hole(in);
        }

        @Override
		public Hole[] newArray(int size) {
            return new Hole[size];
        }
    };

    // ------------------------------------------------------------------------
    // FIELDS
    // ------------------------------------------------------------------------

	private final int mNumber;
	private final int mPar;
	private final int mDistance;

    // ------------------------------------------------------------------------
    // INITIALIZERS
    // ------------------------------------------------------------------------

    // ------------------------------------------------------------------------
    // CONSTRUCTORS
    // ------------------------------------------------------------------------

	public Hole(int number, int par, int distance) {
		mNumber = number;
		mPar = par;
		mDistance = distance;
	}

	public Hole(Parcel in) {
		mNumber = in.readInt();
		mPar = in.readInt();
		mDistance = in.readInt();
	}

    // ------------------------------------------------------------------------
    // METHODS
    // ------------------------------------------------------------------------

	@Override
	public MonkeyType toMonkeyObject() {
		HashMap<Object, Object> returnVal = new HashMap<Object, Object>();
		returnVal.put(AppConstants.KEY_HOLE_NUMBER, mNumber);