A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CatalogStandardUserTypeMetadata.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 /*
19  * CatalogStandardUserTypeMetadata.h
20  *
21  */
22 
23 #ifndef SRC_CATALOG_CATALOGSTANDARDUSERTYPEMETADATA_H_
24 #define SRC_CATALOG_CATALOGSTANDARDUSERTYPEMETADATA_H_
25 
26 #include <iostream>
27 #include <string>
28 
29 using namespace std;
30 
42 
43 public:
45 
46  CatalogStandardUserTypeMetadata(string itemIdIn, string objectIDIn,
47  string objectTypeIn, string objectNameIn,
48  string libraryBytesIn);
49 
51  const CatalogStandardUserTypeMetadata &pdbCatalogEntryToCopy);
52 
54 
55  string getItemKey();
56 
57  string getItemId();
58 
59  string getObjectID();
60 
61  string getObjectType();
62 
63  string getItemName();
64 
65  string getLibraryBytes();
66 
67  void setObjectId(string &objectIdIn);
68 
69  void setItemId(string &itemIdIn);
70 
71  void setItemKey(string &itemKeyIn);
72 
73  void setItemName(string &itemIdIn);
74 
75  void setLibraryBytes(string &bytesIn);
76 
77  string printShort();
78 
79  friend std::ostream &
80  operator<<(std::ostream &out,
81  CatalogStandardUserTypeMetadata &userDefinedObject) {
82  out << "\nCatalog User-defined Type Metadata" << endl;
83  out << "-------------------" << endl;
84  out << " Type Id: " << userDefinedObject.getObjectID().c_str() << endl;
85  out << " Type Key: " << userDefinedObject.getItemKey().c_str() << endl;
86  out << " Type Name: " << userDefinedObject.getItemName().c_str() << endl;
87  out << "-------------------\n" << endl;
88  return out;
89  }
90 
91 private:
92  // numeric index to indicate the position on the vector
93  string itemId;
94  // numeric unique ID for a user-defined object starts from 8192
95  string objectID;
96  // object type, e.g. data_type, metric
97  string objectType;
98  // the name of the user-defined object
99  string objectName;
100  // the bytes containing the .so library file
101  string libraryBytes;
102 };
103 
104 #endif /* SRC_CATALOG_CATALOGSTANDARDUSERTYPEMETADATA_H_ */
std::ostream & operator<<(std::ostream &out, PDBCatalog &catalog)
Definition: PDBCatalog.cc:1179