Class FragmentationUtils
- java.lang.Object
-
- org.openehealth.ipf.platform.camel.ihe.mllp.core.FragmentationUtils
-
public class FragmentationUtils extends Object
Helper methods for segment fragmentation, unsolicited request fragmentation, and interactive response continuation in HL7v2-based transactions.- Author:
- Dmytro Rud
-
-
Constructor Summary
Constructors Constructor Description FragmentationUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidappendSegments(StringBuilder sb, List<String> segments, int startIndex, int endIndex)Appends segments from startIndex to endIndex-1 to the given StringBuilder.static voidappendSplitSegment(StringBuilder sb, List<String> fields, char fieldSeparator)Appends a split segment to the given StringBuilder.static StringensureMaximalSegmentsLength(String message, int maxLength)Ensures that all segments in the given HL7 message string representation are not longer than the given value (-1 means positive infinity).static CharSequencejoinSegments(List<String> segments, int startIndex, int endIndex)Joins segments from startIndex to endIndex-1.static StringkeyString(String... pieces)Creates a single key string from the given key pieces.static List<String>splitString(String s, char c)Splits the given String at occurrences of the given character.static StringuniqueId()Returns an unique value which can be used, for example, as an HL7v2 message ID.
-
-
-
Method Detail
-
splitString
public static List<String> splitString(String s, char c)
Splits the given String at occurrences of the given character.
-
ensureMaximalSegmentsLength
public static String ensureMaximalSegmentsLength(String message, int maxLength)
Ensures that all segments in the given HL7 message string representation are not longer than the given value (-1 means positive infinity). If needed, splits long segments by means of ADD segments, as described in paragraph 2.10.2.1 of the HL7 v.2.5 specification.'\r'characters are not considered in the length computation.- Parameters:
message- string representation of the source HL7 message.maxLength- maximal segment length, must be either -1 or greater than 4.- Returns:
- string representation of a semantically equivalent message, whose segments are not longer than the given value.
-
appendSplitSegment
public static void appendSplitSegment(StringBuilder sb, List<String> fields, char fieldSeparator)
Appends a split segment to the given StringBuilder.
-
appendSegments
public static void appendSegments(StringBuilder sb, List<String> segments, int startIndex, int endIndex)
Appends segments from startIndex to endIndex-1 to the given StringBuilder.
-
joinSegments
public static CharSequence joinSegments(List<String> segments, int startIndex, int endIndex)
Joins segments from startIndex to endIndex-1.
-
keyString
public static String keyString(String... pieces)
Creates a single key string from the given key pieces.
-
uniqueId
public static String uniqueId()
Returns an unique value which can be used, for example, as an HL7v2 message ID.
-
-