Package jmri.jmrix.oaktree
Class SerialAddress
- java.lang.Object
-
- jmri.jmrix.oaktree.SerialAddress
-
public class SerialAddress extends java.lang.Object
Utility Class supporting parsing and testing of addresses.Two address formats are supported:
- Otnnnxxx where:
- t is the type code: 'T' for turnouts, 'S' for sensors, and 'L' for lights
- nnn is the node address (0-127)
- xxx is a bit number of the input or output bit (001-999)
- nnxxx = (node address x 1000) + bit number
- OtnnnBxxxx where:
- t is the type code: 'T' for turnouts, 'S' for sensors, and 'L' for lights
- nnn is the node address of the input or output bit (0-127)
- xxxx is a bit number of the input or output bit (1-2048)
- Otnnnxxx where:
-
-
Field Summary
Fields Modifier and Type Field Description (package private) OakTreeSystemConnectionMemo_memo
-
Constructor Summary
Constructors Constructor Description SerialAddress(OakTreeSystemConnectionMemo memo)
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringconvertSystemNameToAlternate(java.lang.String systemName, java.lang.String prefix)Static method to convert one format system name for the alternate format.static intgetBitFromSystemName(java.lang.String systemName, java.lang.String prefix)Static method to parse a system name and return the bit number.static SerialNodegetNodeFromSystemName(java.lang.String systemName, SerialTrafficController tc)Static method to parse a system name and return the Serial Node.static java.lang.StringnormalizeSystemName(java.lang.String systemName, java.lang.String prefix)Static method to normalize a system name.static java.lang.StringvalidateSystemNameFormat(java.lang.String systemName, java.lang.String prefix, java.util.Locale locale)Validate system name format.static booleanvalidSystemNameConfig(java.lang.String systemName, char type, OakTreeSystemConnectionMemo memo)Static method to validate system name for configuration.static Manager.NameValidityvalidSystemNameFormat(java.lang.String systemName, char type, java.lang.String prefix)Static method to validate system name format.
-
-
-
Constructor Detail
-
SerialAddress
public SerialAddress(OakTreeSystemConnectionMemo memo)
-
-
Method Detail
-
getNodeFromSystemName
public static SerialNode getNodeFromSystemName(java.lang.String systemName, SerialTrafficController tc)
Static method to parse a system name and return the Serial Node.- Parameters:
systemName- system name.tc- traffic controller.- Returns:
- 'NULL' if illegal systemName format or if the node is not found
-
getBitFromSystemName
public static int getBitFromSystemName(java.lang.String systemName, java.lang.String prefix)
Static method to parse a system name and return the bit number. Note: Bits are numbered from 1.- Parameters:
systemName- system name.prefix- system prefix.- Returns:
- 0 if an error is found
-
validateSystemNameFormat
public static java.lang.String validateSystemNameFormat(java.lang.String systemName, java.lang.String prefix, java.util.Locale locale) throws java.lang.IllegalArgumentException
Validate system name format. Does not check whether that node is defined on current system.- Parameters:
systemName- the system nameprefix- the prefix fromManager.getSystemNamePrefix()locale- the Locale for user messages- Returns:
- systemName unmodified
- Throws:
java.lang.IllegalArgumentException- if unable to validate systemName
-
validSystemNameFormat
public static Manager.NameValidity validSystemNameFormat(@Nonnull java.lang.String systemName, char type, java.lang.String prefix)
Static method to validate system name format.- Parameters:
systemName- system name.type- Letter indicating device type expectedprefix- system prefix.- Returns:
- 'true' if system name has a valid format, else returns 'false'
-
validSystemNameConfig
public static boolean validSystemNameConfig(java.lang.String systemName, char type, OakTreeSystemConnectionMemo memo)
Static method to validate system name for configuration.- Parameters:
systemName- system name.type- bean type, e.g. S for Sensor, T for Turnout.memo- system connection.- Returns:
- 'true' if system name has a valid meaning in current configuration, else return 'false'
-
convertSystemNameToAlternate
public static java.lang.String convertSystemNameToAlternate(java.lang.String systemName, java.lang.String prefix)
Static method to convert one format system name for the alternate format.- Parameters:
systemName- system name.prefix- system prefix.- Returns:
- an empty string if the supplied system name does not have a valid format, or if there is no representation in the alternate naming scheme
-
normalizeSystemName
public static java.lang.String normalizeSystemName(java.lang.String systemName, java.lang.String prefix)
Static method to normalize a system name.This routine is used to ensure that each system name is uniquely linked to one bit, by removing extra zeros inserted by the user.
- Parameters:
systemName- system name.prefix- system prefix.- Returns:
- an empty string if the supplied system name does not have a valid format. Otherwise a normalized name is returned in the same format as the input name.
-
-