jdl-api-cpp-3.4.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
parametricad.h
Go to the documentation of this file.
1 /*
2 Copyright (c) Members of the EGEE Collaboration. 2004.
3 See http://www.eu-egee.org/partners/ for details on the
4 copyright holders.
5 
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
15 either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 */
19 
20 
21 #ifndef GLITE_WMS_COMMON_REQUESTAD_PARAMETRICAD_H
22 #define GLITE_WMS_COMMON_REQUESTAD_PARAMETRICAD_H
23 /*
24 * ParametricAd.h
25 */
26 
27 #include "JobAd.h"
28 #include "JdlAttributeList.h"
29 
30 namespace glite {
31 namespace jdl {
32 
42  public:
48  ParametricAd(const std::string& jdl):JobAd(){fromString(jdl);};
50  ParametricAd(const classad::ClassAd& classAd):JobAd(){fromClassAd(classAd);};
52  ParametricAd(const ParametricAd& nodead);
54  void operator=(const ParametricAd& nodead);
56  virtual ~ParametricAd() throw();
60  std::vector<classad::ExprTree*> getRemoteSandbox() ;
65  std::vector<std::string> getStringValue(const std::string& attr_name) ;
70  void addUserTag ( const std::string& attr_name, const std::string& attr_value );
75  void checkSyntax( const std::string& attr_name , classad::Value attr_value ) ;
76  protected:
81  std::vector<std::string> getISBStrings();
85  void checkInputSandbox( std::vector<std::string>& extracted ) ;
88  void checkSpecials( ) ;
94  void insertAttribute(const std::string& attr_name , classad::ExprTree* val);
95 
96  private:
97  // This vector contains all ISB expr Values, later will be used
98  std::vector<classad::ExprTree*> inputRemotes ;
99  friend class ExpDagAd ;
100 };
101 
102 } // jdl namespace
103 } // glite namespace
104 
105 #endif
106 
107 //EOF
void operator=(const ParametricAd &nodead)
Provides a representation of the job description in the JDL language.
Definition: ExpDagAd.h:84
ParametricAd(const classad::ClassAd &classAd)
Definition: parametricad.h:50
void addUserTag(const std::string &attr_name, const std::string &attr_value)
std::vector< std::string > getISBStrings()
void fromString(const std::string &jdl_string, std::string jdl_file="")
std::vector< classad::ExprTree * > getRemoteSandbox()
Provides a job description user-friendly language for parametric jobs.
Definition: parametricad.h:41
Provides a representation of the job description in the JDL language.
Definition: JobAd.h:55
void insertAttribute(const std::string &attr_name, classad::ExprTree *val)
void checkInputSandbox(std::vector< std::string > &extracted)
std::vector< std::string > getStringValue(const std::string &attr_name)
ParametricAd()
Definition: parametricad.h:44
void checkSyntax(const std::string &attr_name, classad::Value attr_value)
void fromClassAd(const classad::ClassAd &classAd)
ParametricAd(const std::string &jdl)
Definition: parametricad.h:48