package ca.uhn.hl7v2.util; import ca.uhn.hl7v2.HL7Exception; /** *
Maps local codes to interface codes and vice versa. The default implementation
* of CodeMapper is FileCodeMapper. An instance of FileCodeMapper can be obtained
* by calling CodeMapper.getInstance()
. See FileCodeMapper for instructions
* on how to set up code map files.
Please note that this class is not intended for the purpose of enumerating valid codes.
* If that is what you are looking for please see ca.uhn.hl7v2.TableRepository
CodeMapper.getInstance().getLocalCode(...)
*/
public static String getLocal(String interfaceName, int hl7Table, String interfaceCode) throws HL7Exception {
return CodeMapper.getInstance().getLocalCode(interfaceName, hl7Table, interfaceCode);
}
/**
* A convenience method that returns an interface code from an underlying
* CodeMapper instance by calling CodeMapper.getInstance().getInterfaceCode(...)
*/
public static String getInt(String interfaceName, int hl7Table, String localCode) throws HL7Exception {
return CodeMapper.getInstance().getInterfaceCode(interfaceName, hl7Table, localCode);
}
/**
* Returns the interface code for the given local code, for use in the context
* of the given interface.
*/
public abstract String getInterfaceCode(String interfaceName, int hl7Table, String localCode) throws HL7Exception;
/**
* Returns the local code for the given interface code as it appears in
* the given interface.
*/
public abstract String getLocalCode(String interfaceName, int hl7Table, String interfaceCode) throws HL7Exception;
/**
* Determines what happens if no matching code is found during a lookup. If set to true,
* an HL7Exception is thrown if there is no match. If false, null is returned. The default
* is false.
*/
public abstract void throwExceptionIfNoMatch(boolean throwException);
/**
* If values are cached in such a way that they are not guaranteed to be current, a call
* to this method refreshes the values.
*/
public abstract void refreshCache() throws HL7Exception;
/* may add these functions later to allow consistent maintenance e.g via a UI ...
public abstract String[] getInterfaceNames();
public abstract void addInterface(String name);
public abstract void addCodeMap(String interface, int hl7table, String localCode, String interfaceCode);
*/
}