jmri.jmrix.grapevine
Class SerialAddress

java.lang.Object
  extended by jmri.jmrix.grapevine.SerialAddress

public class SerialAddress
extends Object

Utility Class supporting parsing and testing of addresses

Multiple address formats are supported: Gtnnnxxx where: t is the type code, 'T' for turnouts, 'S' for sensors, 'H' for signals and 'L' for lights nn 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 examples: GT2 (node address 0, bit 2), GS1003 (node address 1, bit 3), GL11234 (node address 11, bit234) Gtnnnaxxxx where: t is the type code, 'T' for turnouts, 'S' for sensors, 'H' for signals 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) a is a subtype-specific letter: 'B' for a bit number (e.g. GT12B3 is a shorter form of GT12003) 'a' is for advanced serial occupancy sensors 'm' is for advanced serial motion sensors 'p' is for parallel sensors 's' is for serial occupancy sensors examples: GT0B2 (node address 0, bit 2), GS1B3 (node address 1, bit 3), GL11B234 (node address 11, bit234)

Author:
Dave Duchamp, Copyright (C) 2004, Bob Jacobsen, Copyright (C) 2006, 2007, 2008

Constructor Summary
SerialAddress()
           
 
Method Summary
static String convertSystemNameToAlternate(String systemName)
          Public static method to convert any format system name for the alternate format (nnBnn) If the supplied system name does not have a valid format, or if there is no representation in the alternate naming scheme, an empty string is returned.
static int getBitFromSystemName(String systemName)
          Public static method to parse a system name and return the bit number Notes: Bits are numbered from 1.
static int getNodeAddressFromSystemName(String systemName)
          Public static method to parse a system name and return the node number Notes: Nodes are numbered from 1.
static SerialNode getNodeFromSystemName(String systemName)
          Public static method to parse a system name and return the Serial Node Note: Returns 'NULL' if illegal systemName format or if the node is not found
static String normalizeSystemName(String systemName)
          Public 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.
static boolean validSystemNameConfig(String systemName, char type)
          Public static method to validate system name for configuration returns 'true' if system name has a valid meaning in current configuration, else returns 'false'
static boolean validSystemNameFormat(String systemName, char type)
          Public static method to validate system name format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerialAddress

public SerialAddress()
Method Detail

getNodeFromSystemName

public static SerialNode getNodeFromSystemName(String systemName)
Public static method to parse a system name and return the Serial Node Note: Returns 'NULL' if illegal systemName format or if the node is not found


getBitFromSystemName

public static int getBitFromSystemName(String systemName)
Public static method to parse a system name and return the bit number Notes: Bits are numbered from 1. If an error is found, 0 is returned.


getNodeAddressFromSystemName

public static int getNodeAddressFromSystemName(String systemName)
Public static method to parse a system name and return the node number Notes: Nodes are numbered from 1. If an error is found, -1 is returned.


validSystemNameFormat

public static boolean validSystemNameFormat(String systemName,
                                            char type)
Public static method to validate system name format

Parameters:
systemName - name to check
type - expected device type letter
Returns:
'true' if system name has a valid format, else returns 'false'

validSystemNameConfig

public static boolean validSystemNameConfig(String systemName,
                                            char type)
Public static method to validate system name for configuration returns 'true' if system name has a valid meaning in current configuration, else returns 'false'


convertSystemNameToAlternate

public static String convertSystemNameToAlternate(String systemName)
Public static method to convert any format system name for the alternate format (nnBnn) If the supplied system name does not have a valid format, or if there is no representation in the alternate naming scheme, an empty string is returned.


normalizeSystemName

public static String normalizeSystemName(String systemName)
Public 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.

If the supplied system name does not have a valid format, an empty string is returned. Otherwise a normalized name is returned in the same format as the input name.



Copyright © 1997 - 2011 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads