00001 /* 00002 * Copyright (c) 2004 on behalf of the EU EGEE Project: 00003 * The European Organization for Nuclear Research (CERN), 00004 * Istituto Nazionale di Fisica Nucleare (INFN), Italy 00005 * Datamat Spa, Italy 00006 * Centre National de la Recherche Scientifique (CNRS), France 00007 * CS Systeme d'Information (CSSI), France 00008 * Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden 00009 * Universiteit van Amsterdam (UvA), Netherlands 00010 * University of Helsinki (UH.HIP), Finland 00011 * University of Bergen (UiB), Norway 00012 * Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom 00013 */ 00014 #ifndef COLUMNDEFINITION_H 00015 #define COLUMNDEFINITION_H 00016 00017 #include <string> 00018 00019 namespace glite 00020 { 00021 namespace rgma 00022 { 00026 class ColumnDefinition 00027 { 00028 public: 00032 ColumnDefinition(std::string columnName, std::string type, 00033 int size, bool isNotNull, bool isPrimaryKey); 00034 00035 virtual ~ColumnDefinition(){} 00039 ColumnDefinition( const ColumnDefinition& type ); 00040 ColumnDefinition& operator=(const ColumnDefinition& type ); 00041 bool operator==(const ColumnDefinition& type ); 00047 void setName(std::string name); 00048 00054 std::string getName(); 00055 00061 void setNotNull(bool notNull); 00062 00068 bool isNotNull(); 00069 00075 void setPrimaryKey(bool primaryKey); 00076 00082 bool isPrimaryKey(); 00083 00089 void setType(std::string type); 00090 00096 std::string getType(); 00097 00101 int getSize(); 00102 00107 bool containsValidSize(); 00108 00109 private: 00113 std::string m_name; 00114 00118 int m_size; 00119 00123 std::string m_type; 00124 00128 bool m_notNull; 00129 00133 bool m_primaryKey; 00134 00135 }; 00136 std::ostream& operator<<( std::ostream& stream, ColumnDefinition colDef ); 00137 } 00138 } 00139 #endif