Class SymbolID


  • public class SymbolID
    extends java.lang.Object
    Utility class for helping to parse out parts of the symbol ID.

    • Field Detail

      • Version_APP6Dch2

        public static final int Version_APP6Dch2
        Deprecated.
        withdrawn from standard
        See Also:
        Constant Field Values
      • StandardIdentity_Context_Reality

        public static final int StandardIdentity_Context_Reality
        See Also:
        Constant Field Values
      • StandardIdentity_Context_Exercise

        public static final int StandardIdentity_Context_Exercise
        See Also:
        Constant Field Values
      • StandardIdentity_Context_Simulation

        public static final int StandardIdentity_Context_Simulation
        See Also:
        Constant Field Values
      • StandardIdentity_Context_Restricted_Target_Reality

        public static final int StandardIdentity_Context_Restricted_Target_Reality
        See Also:
        Constant Field Values
      • StandardIdentity_Context_No_Strike_Entity_Reality

        public static final int StandardIdentity_Context_No_Strike_Entity_Reality
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Pending

        public static final int StandardIdentity_Affiliation_Pending
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Unknown

        public static final int StandardIdentity_Affiliation_Unknown
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_AssumedFriend

        public static final int StandardIdentity_Affiliation_AssumedFriend
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Friend

        public static final int StandardIdentity_Affiliation_Friend
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Neutral

        public static final int StandardIdentity_Affiliation_Neutral
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Suspect_Joker

        public static final int StandardIdentity_Affiliation_Suspect_Joker
        See Also:
        Constant Field Values
      • StandardIdentity_Affiliation_Hostile_Faker

        public static final int StandardIdentity_Affiliation_Hostile_Faker
        See Also:
        Constant Field Values
      • SymbolSet_LandCivilianUnit_Organization

        public static final int SymbolSet_LandCivilianUnit_Organization
        See Also:
        Constant Field Values
      • SymbolSet_LandEquipment

        public static final int SymbolSet_LandEquipment
        See Also:
        Constant Field Values
      • SymbolSet_LandInstallation

        public static final int SymbolSet_LandInstallation
        See Also:
        Constant Field Values
      • SymbolSet_ControlMeasure

        public static final int SymbolSet_ControlMeasure
        See Also:
        Constant Field Values
      • SymbolSet_DismountedIndividuals

        public static final int SymbolSet_DismountedIndividuals
        See Also:
        Constant Field Values
      • SymbolSet_SeaSubsurface

        public static final int SymbolSet_SeaSubsurface
        See Also:
        Constant Field Values
      • SymbolSet_Oceanographic

        public static final int SymbolSet_Oceanographic
        See Also:
        Constant Field Values
      • SymbolSet_MeteorologicalSpace

        public static final int SymbolSet_MeteorologicalSpace
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence

        public static final int SymbolSet_SignalsIntelligence
        in 2525E+, there is only SymbolSet_SignalsIntelligence and the frame shape position is required to be populated. Valid frames are space, air, land, land equipment, sea surface, sea subsurface and cyberspace.
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence_Space

        public static final int SymbolSet_SignalsIntelligence_Space
        2525D/Dch1 only
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence_Air

        public static final int SymbolSet_SignalsIntelligence_Air
        2525D/Dch1 only
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence_Land

        public static final int SymbolSet_SignalsIntelligence_Land
        2525D/Dch1 only
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence_SeaSurface

        public static final int SymbolSet_SignalsIntelligence_SeaSurface
        2525D/Dch1 only
        See Also:
        Constant Field Values
      • SymbolSet_SignalsIntelligence_SeaSubsurface

        public static final int SymbolSet_SignalsIntelligence_SeaSubsurface
        2525D/Dch1 only
        See Also:
        Constant Field Values
      • SymbolSet_InvalidSymbol

        public static final int SymbolSet_InvalidSymbol
        See Also:
        Constant Field Values
      • SymbolSet_VersionExtensionFlag

        public static final int SymbolSet_VersionExtensionFlag
        See Also:
        Constant Field Values
      • Status_Planned_Anticipated_Suspect

        public static final int Status_Planned_Anticipated_Suspect
        See Also:
        Constant Field Values
      • Status_Present_FullyCapable

        public static final int Status_Present_FullyCapable
        See Also:
        Constant Field Values
      • Status_Present_Destroyed

        public static final int Status_Present_Destroyed
        See Also:
        Constant Field Values
      • Status_Present_FullToCapacity

        public static final int Status_Present_FullToCapacity
        See Also:
        Constant Field Values
      • Status_Present_VersionExtensionFlag

        public static final int Status_Present_VersionExtensionFlag
        See Also:
        Constant Field Values
      • HQTFD_FeintDummy_Headquarters

        public static final int HQTFD_FeintDummy_Headquarters
        See Also:
        Constant Field Values
      • HQTFD_FeintDummy_TaskForce

        public static final int HQTFD_FeintDummy_TaskForce
        See Also:
        Constant Field Values
      • HQTFD_TaskForce_Headquarters

        public static final int HQTFD_TaskForce_Headquarters
        See Also:
        Constant Field Values
      • HQTFD_FeintDummy_TaskForce_Headquarters

        public static final int HQTFD_FeintDummy_TaskForce_Headquarters
        See Also:
        Constant Field Values
      • HQTFD_VersionExtensionFlag

        public static final int HQTFD_VersionExtensionFlag
        See Also:
        Constant Field Values
      • Echelon_Platoon_Detachment

        public static final int Echelon_Platoon_Detachment
        See Also:
        Constant Field Values
      • Echelon_Company_Battery_Troop

        public static final int Echelon_Company_Battery_Troop
        See Also:
        Constant Field Values
      • Echelon_Battalion_Squadron

        public static final int Echelon_Battalion_Squadron
        See Also:
        Constant Field Values
      • Echelon_VersionExtensionFlag

        public static final int Echelon_VersionExtensionFlag
        See Also:
        Constant Field Values
      • Echelon_ArmyGroup_Front

        public static final int Echelon_ArmyGroup_Front
        See Also:
        Constant Field Values
      • Echelon_VersionExtensionFlag2

        public static final int Echelon_VersionExtensionFlag2
        See Also:
        Constant Field Values
      • Mobility_WheeledLimitedCrossCountry

        public static final int Mobility_WheeledLimitedCrossCountry
        See Also:
        Constant Field Values
      • Mobility_WheeledCrossCountry

        public static final int Mobility_WheeledCrossCountry
        See Also:
        Constant Field Values
      • Mobility_Wheeled_Tracked

        public static final int Mobility_Wheeled_Tracked
        See Also:
        Constant Field Values
      • Mobility_ShortTowedArray

        public static final int Mobility_ShortTowedArray
        See Also:
        Constant Field Values
      • Mobility_LongTowedArray

        public static final int Mobility_LongTowedArray
        See Also:
        Constant Field Values
      • FrameShape_LandEquipment

        public static final char FrameShape_LandEquipment
        See Also:
        Constant Field Values
      • FrameShape_LandInstallation

        public static final char FrameShape_LandInstallation
        See Also:
        Constant Field Values
      • FrameShape_DismountedIndividuals

        public static final char FrameShape_DismountedIndividuals
        See Also:
        Constant Field Values
      • FrameShape_SeaSubsurface

        public static final char FrameShape_SeaSubsurface
        See Also:
        Constant Field Values
      • FrameShape_Activity_Event

        public static final char FrameShape_Activity_Event
        See Also:
        Constant Field Values
    • Constructor Detail

      • SymbolID

        public SymbolID()
    • Method Detail

      • reconcileSymbolID

        public static java.lang.String reconcileSymbolID​(java.lang.String symbolID)
        Attempts to resolve a bad symbol ID into a value that can be found in MSLookup. If it fails, it will return the symbol code for a invalid symbol which is displayed as an inverted question mark (110098000010000000000000000000)
        Parameters:
        symbolID - 30 character String
        Returns:
        30 character String representing the resolved symbol ID.
      • getVersion

        public static int getVersion​(java.lang.String symbolID)
        Gets the version number from the Symbol ID at positions 1-2
        Parameters:
        symbolID - 30 character String
        Returns:
        Integer like Version_2525Dch1 (11)

      • setVersion

        public static java.lang.String setVersion​(java.lang.String symbolID,
                                                  int ver)
        Sets the version number of the Symbol ID at positions 1-2
        Parameters:
        symbolID - 30 character String
        ver - Integer like Version_2525Dch1 (11)
        Returns:
        updated 30 character String symbol ID
      • getStandardIdentity

        public static int getStandardIdentity​(java.lang.String symbolID)
        Gets the version number from the Symbol ID at positions 3-4. Restricted and No-Strike values are NATO only.
        Parameters:
        symbolID - 30 character String
        Returns:
        Integer, number will not be padded if it starts with a '0'

      • setStandardIdentity

        public static java.lang.String setStandardIdentity​(java.lang.String symbolID,
                                                           int si)
        Sets the version number of the Symbol ID at positions 3-4
        Parameters:
        symbolID - 30 character String
        si - Integer If number is a single digit, will pad with a '0' before inserting into symbol ID
        Returns:
        updated 30 character String symbol ID
      • getContext

        public static int getContext​(java.lang.String symbolID)
        Get Context (Reality (0), Exercise (1), Simulation (2)) at position 3 Higher values are NATO only
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer

      • setContext

        public static java.lang.String setContext​(java.lang.String symbolID,
                                                  int context)
        Set Context (Reality (0), Exercise (1), Simulation (2)) at position 3
        Parameters:
        symbolID - 30 Character String
        context - Integer
        Returns:
        String updated Symbol ID.
      • getAffiliation

        public static int getAffiliation​(java.lang.String symbolID)
        Get Affiliation from position 4
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer like StandardIdentity_Affiliation_Friend

      • setAffiliation

        public static java.lang.String setAffiliation​(java.lang.String symbolID,
                                                      int affiliation)
        Set Affiliation at position 4
        Parameters:
        symbolID - 30 Character String
        affiliation - like StandardIdentity_Affiliation_Friend
        Returns:
        String updated Symbol ID.
      • getSymbolSet

        public static int getSymbolSet​(java.lang.String symbolID)
        Get Symbol Set from positions 5-6
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer like SymbolSet_LandCivilianUnit_Organization

      • setSymbolSet

        public static java.lang.String setSymbolSet​(java.lang.String symbolID,
                                                    int ss)
        Set Symbol Set at positions 5-6
        Parameters:
        symbolID - 30 Character String
        ss - like SymbolSet_LandCivilianUnit_Organization
        Returns:
        String updated Symbol ID.
      • getStatus

        public static int getStatus​(java.lang.String symbolID)
        Get Symbol Set from position 7
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer like Status_Present

      • setStatus

        public static java.lang.String setStatus​(java.lang.String symbolID,
                                                 int status)
        Set Symbol Set at position 7
        Parameters:
        symbolID - 30 Character String
        status - like Status_Present
        Returns:
        String updated Symbol ID.
      • getHQTFD

        public static int getHQTFD​(java.lang.String symbolID)
        Get Symbol Set from position 8
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer like HQTFD_Headquarters

      • setHQTFD

        public static java.lang.String setHQTFD​(java.lang.String symbolID,
                                                int HQTFD)
        Set Symbol Set at position 8
        Parameters:
        symbolID - 30 Character String
        HQTFD - like HQTFD_Headquarters
        Returns:
        String updated Symbol ID.
      • getAmplifierDescriptor

        public static int getAmplifierDescriptor​(java.lang.String symbolID)
        Get Amplifier Descriptor which can describe things like Echelon / Mobility / Towed Array / Leadership Indicator from positions 9-10
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer

      • setAmplifierDescriptor

        public static java.lang.String setAmplifierDescriptor​(java.lang.String symbolID,
                                                              int ad)
        Set Amplifier Descriptor which can describe things like Echelon / Mobility / Towed Array / Leadership Indicator at positions 9-10
        Parameters:
        symbolID - 30 Character String
        ad -
        Returns:
        String
      • getEntityCode

        public static int getEntityCode​(java.lang.String symbolID)
        Get Entity Code from positions 11-16. These six digits identify a unique symbol within a symbol set.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer

      • setEntityCode

        public static java.lang.String setEntityCode​(java.lang.String symbolID,
                                                     int entityCode)
        Set Entity Code at positions 11-16. These six digits identify a unique symbol within a symbol set.
        Parameters:
        symbolID - 30 Character String
        entityCode - Integer
        Returns:
        String
      • getEntity

        public static int getEntity​(java.lang.String symbolID)
        Get Entity from positions 11-12.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • getEntityType

        public static int getEntityType​(java.lang.String symbolID)
        Get Entity Type from positions 13-14.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • getEntitySubtype

        public static int getEntitySubtype​(java.lang.String symbolID)
        Get Entity Subtype from positions 15-16.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • getModifier1

        public static int getModifier1​(java.lang.String symbolID)
        Get Sector 1 Modifier from positions 17-18.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer

      • setModifier1

        public static java.lang.String setModifier1​(java.lang.String symbolID,
                                                    int mod1)
        Set Sector 1 Modifier at positions 17-18.
        Parameters:
        symbolID - 30 Character String
        mod1 - Integer 0-255
        Returns:
        String
      • setModifier1

        public static java.lang.String setModifier1​(java.lang.String symbolID,
                                                    java.lang.String mod1)
        Parameters:
        symbolID - 30 Character String
        mod1 - String hex string from "00" to "FF"
        Returns:
        String
      • getCommonModifier1

        public static int getCommonModifier1​(java.lang.String symbolID)
        Get Common Sector 1 Modifier from position 21.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • setCommonModifier1

        public static java.lang.String setCommonModifier1​(java.lang.String symbolID,
                                                          int mod1I)
        Set Common Sector 1 Modifier at position 21.
        Parameters:
        symbolID - 30 Character String
        mod1I - Integer
        Returns:
        String
      • getModifier2

        public static int getModifier2​(java.lang.String symbolID)
        Get Sector 2 Modifier from positions 17-18.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer

      • setModifier2

        public static java.lang.String setModifier2​(java.lang.String symbolID,
                                                    int mod2)
        Set Sector 2 Modifier at positions 17-18. MilStd doesn't treat these as proper hex values. They go from 0-99 then just to A1 which is 161 as an integer.
        Parameters:
        symbolID - 30 Character String
        mod2 - Integer 0-255
        Returns:
        String
      • setModifier2

        public static java.lang.String setModifier2​(java.lang.String symbolID,
                                                    java.lang.String mod2)
        Parameters:
        symbolID - 30 Character String
        mod2 - String hex string from "00" to "FF"
        Returns:
        String
      • getCommonModifier2

        public static int getCommonModifier2​(java.lang.String symbolID)
        Get Common Sector 2 Modifier from position 22.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • setCommonModifier2

        public static java.lang.String setCommonModifier2​(java.lang.String symbolID,
                                                          int mod1I)
        Set Common Sector 2 Modifier at position 22.
        Parameters:
        symbolID - 30 Character String
        mod1I - Integer
        Returns:
        String
      • isMETOC

        public static java.lang.Boolean isMETOC​(java.lang.String symbolID)
        Returns true is symbol is of the Meteorological variety.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Boolean
      • getFrameID

        public static java.lang.String getFrameID​(java.lang.String symbolID)
        Deprecated.
        See SVGLookup.getFrameID(String)
        Build string to grab appropriate SVG file
        Parameters:
        symbolID - 30 Character String
        Returns:
        String
      • getMainIconID

        public static java.lang.String getMainIconID​(java.lang.String symbolID)
        Deprecated.
        See SVGLookup.getMainIconID(String)
        Build string to grab appropriate SVG file
        Parameters:
        symbolID - 30 Character String
        Returns:
        String
      • getMod2ID

        public static java.lang.String getMod2ID​(java.lang.String symbolID)
        Deprecated.
        See SVGLookup.getMod2ID(String) (String)}
        Build string to grab appropriate SVG file
        Parameters:
        symbolID - 30 Character String
        Returns:
        String
      • getMod1ID

        public static java.lang.String getMod1ID​(java.lang.String symbolID)
        Deprecated.
        See SVGLookup.getMod1ID(String) (String)}
        Build string to grab appropriate SVG file
        Parameters:
        symbolID - 30 Character String
        Returns:
        String
      • getCountryCode

        public static int getCountryCode​(java.lang.String symbolID)
        Gets the 3 digit county code from positions 28-30
        Parameters:
        symbolID - 30 Character String
        Returns:
        Integer
      • getDefaultFrameShape

        public static char getDefaultFrameShape​(java.lang.String symbolID)
        In 2525E, position 23 of the symbol code has the Frame Shape modifier. This lets a user force a different frame shape than what a symbol would normally have. Like you could have Air Fixed Wing with a ground unit rectangle frame for when it's on the ground. This function returns the frame shape value for what the default frame would be for a specific symbol set.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Character

      • setFrameShape

        public static java.lang.String setFrameShape​(java.lang.String symbolID,
                                                     char frameShape)
        Parameters:
        symbolID -
        frameShape - like SymbolID.FrameShape_LandEquipment
        Returns:
      • getFrameShape

        public static char getFrameShape​(java.lang.String symbolID)
        Gets the Frame Shape override from position 23.
        Parameters:
        symbolID - 30 Character String
        Returns:
        Character