Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

ParsingGranularities.java

00001 /**
00002  * C-JDBC: Clustered JDBC.
00003  * Copyright (C) 2002-2004 French National Institute For Research In Computer
00004  * Science And Control (INRIA).
00005  * Contact: c-jdbc@objectweb.org
00006  * 
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published by the
00009  * Free Software Foundation; either version 2.1 of the License, or any later
00010  * version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00015  * for more details.
00016  * 
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with this library; if not, write to the Free Software Foundation,
00019  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00020  *
00021  * Initial developer(s): Emmanuel Cecchet.
00022  * Contributor(s): Sara Bouchenak.
00023  */
00024 
00025 package org.objectweb.cjdbc.common.sql;
00026 
00027 /**
00028  * Defines SQL queries parsing granularities.
00029  * 
00030  * @author <a href="mailto:Emmanuel.Cecchet@inria.fr">Emmanuel Cecchet</a>
00031  * @author <a href="mailto:Sara.Bouchenak@epfl.ch">Sara Bouchenak</a>
00032  * @version 1.0
00033  */
00034 public class ParsingGranularities
00035 {
00036   /** The request is not parsed. */
00037   public static final int NO_PARSING = 0;
00038 
00039   /**
00040    * Table granularity. Only table dependencies are computed.
00041    */
00042   public static final int TABLE = 1;
00043 
00044   /**
00045    * Column granularity. Column dependencies are computed (both select and
00046    * where clauses).
00047    */
00048   public static final int COLUMN = 2;
00049 
00050   /**
00051    * Column granularity with <code>UNIQUE</code> queries.
00052    * 
00053    * <p>
00054    * Same as <code>COLUMN</code> except that <code>UNIQUE</code> queries
00055    * that select a single row based on a key are flagged <code>UNIQUE</code>
00056    * (and should not be invalidated on <code>INSERTs</code>).
00057    */
00058   public static final int COLUMN_UNIQUE = 3;
00059 
00060   /**
00061    * Returns the granularity value in a <code>String</code> form.
00062    * 
00063    * @param granularity a granularity value
00064    * @return the <code>String</code> form of the granularity
00065    */
00066   public static String getInformation(int granularity)
00067   {
00068     switch (granularity)
00069     {
00070       case NO_PARSING :
00071         return "NO_PARSING";
00072       case TABLE :
00073         return "TABLE";
00074       case COLUMN :
00075         return "COLUMN";
00076       case COLUMN_UNIQUE :
00077         return "COLUMN_UNIQUE";
00078       default :
00079         return "Illegal parsing granularity";
00080     }
00081   }
00082 }

Generated on Mon Apr 11 22:01:33 2005 for C-JDBC by  doxygen 1.3.9.1