3c986d420a06358d68eec4be52e1ac75cdfe0f92
[mir.git] / source / mir / storage / store / StoreUtil.java
1 /*
2  * Copyright (C) 2001, 2002  The Mir-coders group
3  *
4  * This file is part of Mir.
5  *
6  * Mir is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * Mir is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Mir; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  * In addition, as a special exception, The Mir-coders gives permission to link
21  * the code of this program with the com.oreilly.servlet library, any library
22  * licensed under the Apache Software License, The Sun (tm) Java Advanced
23  * Imaging library (JAI), The Sun JIMI library (or with modified versions of
24  * the above that use the same license as the above), and distribute linked
25  * combinations including the two.  You must obey the GNU General Public
26  * License in all respects for all of the code used other than the above
27  * mentioned libraries.  If you modify this file, you may extend this exception
28  * to your version of the file, but you are not obligated to do so.  If you do
29  * not wish to do so, delete this exception statement from your version.
30  */
31
32 package mir.storage.store;
33
34 /**
35  * Title:
36  * Description:
37  * Copyright:    Copyright (c) 2002
38  * Company:
39  * @author
40  * @version 1.0
41  */
42
43 public final class StoreUtil {
44
45         private final static Class    storableObjectInterface=StorableObject.class;
46
47   // avoid construction
48   private StoreUtil() { }
49
50
51   public static final String getPropNameFor(Class aClass) {
52     if ( aClass!=null ) {
53       String className=aClass.toString();
54       return className.substring(className.lastIndexOf(".")+1);
55     }
56     return null;
57   }
58
59   public static final String getEntityListUniqueIdentifierFor( String table,
60     String where, String order, int offset, int limit)
61   {
62     StringBuffer sb = new StringBuffer(table);
63     sb.append("@");
64     if ( where!=null ) sb.append(where);
65     sb.append("@");
66     if ( order!=null ) sb.append(order);
67     sb.append("@").append(offset);
68     sb.append("@").append(limit);
69     return sb.toString();
70   }
71
72         /**
73          *  Method:       implementsStorableObject
74          *  Description:  internall helper method to find out if a class implements
75          *                interface StorableObject.
76          *
77          *  @return       true if yes, otherwise no.
78          */
79         public final static boolean implementsStorableObject(Class aClass) {
80                 if (aClass!=null) {
81                         Class[] interfaces = aClass.getInterfaces();
82                         if (interfaces.length>0) {
83                                 for (int i=0;i<interfaces.length;i++) {
84                                         if (interfaces[i]==storableObjectInterface) return true;
85                                 }
86                         }
87                 }
88                 return false;
89         }
90
91
92
93 }