01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)SequencingEngineUtil.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package com.sun.jbi.engine.sequencing.util;
30:
31: /**
32: * Sequencing binding util class.
33: *
34: * @author Sun Microsystems, Inc.
35: */
36: public class SequencingEngineUtil {
37: /**
38: * Tracking id.
39: */
40: private static long sTrackingId = 0;
41:
42: /**
43: * padding length.
44: */
45: private static final int PAD_LENGTH = 20;
46:
47: /**
48: * Method to generate tracking id.
49: *
50: * @return tracking id.
51: */
52: public static synchronized String getTrackingId() {
53: sTrackingId++;
54:
55: if (sTrackingId >= Long.MAX_VALUE) {
56: sTrackingId = 0;
57: }
58:
59: return padString(Long.toString(sTrackingId));
60: }
61:
62: /**
63: * Util method for padding with zeros.
64: *
65: * @param s string to be padded.
66: *
67: * @return padded string.
68: */
69: private static String padString(String s) {
70: StringBuffer sb = new StringBuffer(s);
71: int len = sb.length();
72:
73: for (int i = 0; i < (PAD_LENGTH - len); i++) {
74: sb.insert(0, '0');
75: }
76:
77: return sb.toString();
78: }
79: }
|