1 package org.csc.phynixx.common.generator; 2 3 /* 4 * #%L 5 * phynixx-common 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 class IDLongGenerator implements IDGenerator<Long>{ 25 26 27 private Long current = (long) 1; 28 29 IDLongGenerator() { 30 this(0l); 31 } 32 33 34 IDLongGenerator(Long seed) { 35 current=seed; 36 } 37 38 39 public long getCurrentLong() { 40 return this.current; 41 } 42 43 public long generateLong() { 44 this.generate(); 45 return this.getCurrentLong(); 46 } 47 48 49 /* (non-Javadoc) 50 * @see de.csc.xaresource.sample.IResourceIDGenerator#getCurrent() 51 */ 52 @Override 53 public Long getCurrent() { 54 return this.current; 55 } 56 57 /* (non-Javadoc) 58 * @see de.csc.xaresource.sample.IResourceIDGenerator#generate() 59 */ 60 @Override 61 public Long generate() { 62 long cc = current; 63 this.current = cc + 1; 64 return this.getCurrent(); 65 } 66 67 68 }