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 }