Package jmri.managers

Class DefaultRailComManager

    • Method Detail

      • newIdTag

        public IdTag newIdTag​(@Nonnull
                              java.lang.String systemName,
                              java.lang.String userName)
                       throws java.lang.IllegalArgumentException
        Provide by userName, then SystemName, else create new. Provide ID Tag by UserName then SystemName, creates new IdTag if not found. Return an instance with the specified system and user names. Note that two calls with the same arguments will get the same instance; there is only one IdTag object representing a given physical IdTag and therefore only one with a specific system or user name.

        This will always return a valid object reference; a new object will be created if necessary. In that case:

        • If a null reference is given for user name, no user name will be associated with the IdTag object created; a valid system name must be provided
        • If both are provided, the system name defines the hardware access of the desired IdTag, and the user address is associated with it. The system name must be valid.
        Note that it is possible to make an inconsistent request if both addresses are provided, but the given values are associated with different objects. This is a problem, and we don't have a good solution except to issue warnings. This will mostly happen if you're creating RfidTags when you should be looking them up.
        Specified by:
        newIdTag in interface IdTagManager
        newIdTag in class DefaultIdTagManager
        systemName - the system name
        userName - the user name
        requested IdTag object (never null)
        java.lang.IllegalArgumentException - if cannot create the IdTag due to e.g. an illegal name or name that can't be parsed.