KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datadictionarysystem > ViewCharacteristics


1 package com.daffodilwoods.daffodildb.server.datadictionarysystem;
2
3 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
4 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
5 import com.daffodilwoods.daffodildb.server.sql99._Executer;
6
7
8 import com.daffodilwoods.database.resource.*;
9 import com.daffodilwoods.database.general.*;
10 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
11 import com.daffodilwoods.daffodildb.server.sql99.dql.listenerevents.*;
12 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._SelectQueryIterator;
13 public class ViewCharacteristics implements _ViewCharacteristics {
14
15
16  private String JavaDoc[] viewColumns;
17  private String JavaDoc viewDefinition;
18  private String JavaDoc check_option;
19  private boolean is_updatable;
20  private boolean is_Insertable_into;
21
22
23  public ViewCharacteristics(QualifiedIdentifier viewName,PreparedStatementGetter preparedStatementGetter,_ColumnCharacteristics columnCharacteristics) throws InitializeException,DException{
24    String JavaDoc[] breakedTable = breakTableName(viewName);
25    try{
26      _SelectQueryIterator iterator = getIterator(preparedStatementGetter.getViewsExecuterWithNameCondition(),breakedTable);
27      if(! iterator.first() )
28        throw new DException("DSE998", new Object JavaDoc[]{viewName.getIdentifier()});
29      Object JavaDoc[] record = (Object JavaDoc[])iterator.getObject();
30      viewDefinition = (String JavaDoc)record[0];
31      check_option = (String JavaDoc)record[1];
32      is_updatable = record[2].toString().equalsIgnoreCase("YES");
33      is_Insertable_into = record[3].toString().equalsIgnoreCase("YES");
34      viewColumns = columnCharacteristics.getColumnNames();
35    } catch (RetrievalException re){
36      InitializeException ie = new InitializeException("DSE1107",null);
37      ie.setException(re);
38      throw ie;
39    }
40  }
41
42  public String JavaDoc getViewQuery() throws DException {
43    return viewDefinition;
44  }
45
46  public String JavaDoc[] getViewColumns() throws DException {
47    return viewColumns;
48  }
49  public boolean isUpdatable() throws DException {
50    return is_updatable;
51  }
52  public boolean isInsertableInto() throws DException {
53    return is_Insertable_into;
54  }
55
56  public String JavaDoc[] breakTableName(QualifiedIdentifier identifier) throws DException {
57    String JavaDoc[] breakedTable = new String JavaDoc[3];
58    breakedTable[0] = identifier.catalog;
59    breakedTable[1] = identifier.schema;
60    breakedTable[2] = identifier.name;
61    return breakedTable;
62  }
63
64
65  private _SelectQueryIterator getIterator(_Executer executer,Object JavaDoc[] parameters) throws DException{
66    return (_SelectQueryIterator) executer.executeForFresh( parameters);
67  }
68
69 }
70
Popular Tags