View Javadoc

1   package org.csc.phynixx.xa;
2   
3   /*
4    * #%L
5    * phynixx-xa
6    * %%
7    * Copyright (C) 2014 csc
8    * %%
9    * Licensed under the Apache License, Version 2.0 (the "License");
10   * you may not use this file except in compliance with the License.
11   * You may obtain a copy of the License at
12   * 
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   * 
15   * Unless required by applicable law or agreed to in writing, software
16   * distributed under the License is distributed on an "AS IS" BASIS,
17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   * See the License for the specific language governing permissions and
19   * limitations under the License.
20   * #L%
21   */
22  
23  
24  public class IDGenerator implements IResourceIDGenerator {
25  
26      private Long current = new Long(1);
27  
28      public IDGenerator() {
29          this(0);
30      }
31  
32      public IDGenerator(long start) {
33          super();
34          this.current = new Long(start);
35      }
36  
37      public long getCurrentLong() {
38          return this.current.longValue();
39      }
40  
41      public long generateLong() {
42          this.generate();
43          return this.getCurrentLong();
44      }
45  
46  
47      /* (non-Javadoc)
48       * @see de.csc.xaresource.sample.IResourceIDGenerator#getCurrent()
49       */
50      public Object getCurrent() {
51          return this.current.toString();
52      }
53  
54      /* (non-Javadoc)
55       * @see de.csc.xaresource.sample.IResourceIDGenerator#generate()
56       */
57      public Object generate() {
58          long cc = current.longValue();
59          this.current = ++cc;
60          return this.getCurrent();
61      }
62  
63  
64  }