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.
 
 
 - 
 
 -