001/*
002 * Copyright (C) Cross The Road Electronics.  All rights reserved.
003 * License information can be found in CTRE_LICENSE.txt
004 * For support and suggestions contact support@ctr-electronics.com or file
005 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
006 */
007package com.ctre.phoenixpro.signals;
008
009import java.util.HashMap;
010
011/**
012 *  Determines where to poll the forward limit switch.  This defaults to the
013 *  limit switch pin on the limit switch connector.
014 */
015public enum ForwardLimitSourceValue
016{
017    LimitSwitchPin(0),;
018
019    public final int value;
020
021    ForwardLimitSourceValue(int initValue)
022    {
023        this.value = initValue;
024    }
025
026    private static HashMap<Integer, ForwardLimitSourceValue> _map = null;
027    static
028    {
029        _map = new HashMap<Integer, ForwardLimitSourceValue>();
030        for (ForwardLimitSourceValue type : ForwardLimitSourceValue.values())
031        {
032            _map.put(type.value, type);
033        }
034    }
035
036    /**
037     * Gets ForwardLimitSourceValue from specified value
038     * @param value Value of ForwardLimitSourceValue
039     * @return ForwardLimitSourceValue of specified value
040     */
041    public static ForwardLimitSourceValue valueOf(int value)
042    {
043        ForwardLimitSourceValue retval = _map.get(value);
044        if(retval != null) return retval;
045        return ForwardLimitSourceValue.values()[0];
046    }
047}