KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jorm > facility > naming > rdbsequence > RdbSequenceLongGen


1 /**
2  * Copyright (C) 2004 France Telecom R&D
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */

18 package org.objectweb.jorm.facility.naming.rdbsequence;
19
20 import org.objectweb.jorm.facility.naming.generator.LongGen;
21 import org.objectweb.jorm.api.PException;
22 import org.objectweb.jorm.api.PMapper;
23 import org.objectweb.jorm.mapper.rdb.lib.RdbConnectionWrapper;
24 import org.objectweb.jorm.mapper.rdb.lib.PMapperRdb;
25
26 import java.sql.Connection JavaDoc;
27
28 /**
29  *
30  * @author S.Chassande-Barrioz
31  */

32 public class RdbSequenceLongGen
33     extends RdbSequenceHelper
34     implements LongGen {
35
36     private PMapper mapper;
37
38     public RdbSequenceLongGen(PMapperRdb mapper, String JavaDoc seqName, boolean sequenceCreated) {
39         super(mapper.getRdbAdapter(), seqName, sequenceCreated);
40         this.mapper = mapper;
41     }
42
43     public long genId() throws PException {
44         Object JavaDoc conn = mapper.getConnection();
45         try {
46             return genId(conn);
47         } finally {
48             mapper.closeConnection(conn);
49         }
50     }
51
52     public long genId(Object JavaDoc _conn) throws PException {
53         Connection JavaDoc conn = RdbConnectionWrapper.narrow2SQL(_conn);
54         return allocateId(conn);
55     }
56 }
57
Popular Tags