(file) Return to CQLIdentifier.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / CQL

  1 karl  1.8 //%2006////////////////////////////////////////////////////////////////////////
  2 chuck 1.2 //
  3 karl  1.5 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4           // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5           // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 chuck 1.2 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.5 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8           // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9           // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10           // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.8 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12           // EMC Corporation; Symantec Corporation; The Open Group.
 13 chuck 1.2 //
 14           // Permission is hereby granted, free of charge, to any person obtaining a copy
 15           // of this software and associated documentation files (the "Software"), to
 16           // deal in the Software without restriction, including without limitation the
 17           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18           // sell copies of the Software, and to permit persons to whom the Software is
 19           // furnished to do so, subject to the following conditions:
 20 karl  1.8 // 
 21 chuck 1.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29           //
 30           //==============================================================================
 31           //
 32           // Authors: David Rosckes (rosckes@us.ibm.com)
 33           //          Bert Rivero (hurivero@us.ibm.com)
 34           //          Chuck Carmack (carmack@us.ibm.com)
 35           //          Brian Lucier (lucier@us.ibm.com)
 36           //
 37 david.dillard 1.6 // Modified By: David Dillard, VERITAS Software Corp.
 38                   //                  (david.dillard@veritas.com)
 39 aruran.ms     1.7 //              Aruran, IBM(ashanmug@in.ibm.com) for Bug# 3589
 40 chuck         1.2 //
 41                   //%/////////////////////////////////////////////////////////////////////////////
 42                   
 43                   #ifndef Pegasus_CQLIdentifier_h
 44                   #define Pegasus_CQLIdentifier_h
 45                   
 46 david.dillard 1.6 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
 47                   
 48 chuck         1.2 #include <Pegasus/CQL/Linkage.h>
 49                   //#include <Pegasus/Common/Array.h>
 50                   #include <Pegasus/Common/ArrayInternal.h>
 51                   #include <Pegasus/Query/QueryCommon/QueryIdentifier.h>
 52                   
 53                   PEGASUS_NAMESPACE_BEGIN
 54                   
 55 mike          1.9 class CQLIdentifierRep;
 56 chuck         1.2 
 57 david.dillard 1.6 /**
 58 chuck         1.2   The CQLIdentifier class encapsulates
 59                     the different formats of the CQL property portion
 60 david.dillard 1.6   of a CQLChainedIdentifier.
 61 chuck         1.2 
 62                     For example, a CQLChainedIdentifier can have these parts:
 63 david.dillard 1.6 
 64 chuck         1.2     Class.EmbeddedObject.Property
 65                       Class.Property
 66                   
 67                   
 68                   The "Property" portion of the CQLChainedIdentifier can be
 69                   in any of these 3 formats:
 70                      (a)  property name
 71                      (b)  property[3]     e.g. an array index
 72                      (c)  property#'OK'    e.g. a symbolic constant
 73                      (d)  *   (wildcard)
 74                   
 75                   In the future, there may be support added for a set of indices (ranges).
 76                     */
 77                   class PEGASUS_CQL_LINKAGE CQLIdentifier: public QueryIdentifier
 78                   {
 79                     public:
 80 humberto      1.4     /**
 81                           Default constructor
 82 david.dillard 1.6 
 83 humberto      1.4         @param  -  None.
 84                           @return - None.
 85                           @throws - None.
 86                           <I><B>Experimental Interface</B></I><BR>
 87                       */
 88 chuck         1.2     CQLIdentifier();
 89 david.dillard 1.6 
 90 humberto      1.3     /**  The constructor for a CQLIdentifier object
 91                             takes a string as input.  The string should contain the
 92                             property portion of a CQLChainedIdentifier.
 93 david.dillard 1.6 
 94 humberto      1.3          The constructor parses the input string into the components of
 95                            the property identifier.
 96 david.dillard 1.6 
 97 humberto      1.3          @param - identifier.  The raw string to be parsed into a CQLIdentifier
 98 david.dillard 1.6         @return - None.
 99                            @throws - CQLIdentifierParseException
100 humberto      1.4          <I><B>Experimental Interface</B></I><BR>
101 humberto      1.3       */
102 aruran.ms     1.7     CQLIdentifier(const String& identifier);
103 chuck         1.2 
104 humberto      1.3     /**
105 david.dillard 1.6         Copy constructor
106 chuck         1.2 
107 david.dillard 1.6         @param - id.  The CQLIdentifier to copy construct from
108 humberto      1.3         @return - None.
109                           @throws - None.
110 humberto      1.4         <I><B>Experimental Interface</B></I><BR>
111 humberto      1.3     */
112 chuck         1.2     CQLIdentifier(const CQLIdentifier& id);
113                   
114 humberto      1.3     /**
115                           Constructs a CQLIdentifier from its base class
116 david.dillard 1.6 
117 humberto      1.3         @param - identifier.  The raw string to be parsed into a CQLIdentifier
118                           @return - None.
119                           @throws - None.
120 humberto      1.4         <I><B>Experimental Interface</B></I><BR>
121 humberto      1.3     */
122 chuck         1.2     CQLIdentifier(const QueryIdentifier& id);
123                   
124 humberto      1.4     /**
125                           Destructor
126 david.dillard 1.6 
127 humberto      1.4         @param  - None.
128                           @return - None.
129                           @throws - None.
130                           <I><B>Experimental Interface</B></I><BR>
131                       */
132 chuck         1.2     ~CQLIdentifier();
133                   
134 humberto      1.4     /**
135 david.dillard 1.6         Assignment operator
136                   
137 humberto      1.4         @param  - rhs.  The right hand side of the assignment operator
138                           @return - None.
139                           @throws - None.
140                           <I><B>Experimental Interface</B></I><BR>
141                       */
142 chuck         1.2     CQLIdentifier& operator=(const CQLIdentifier& rhs);
143                   
144                     private:
145                   
146                   };
147                   
148                   
149                   /*
150                   #ifndef PEGASUS_ARRAY_T
151                   #define PEGASUS_ARRAY_T CQLIdentifier
152                   #include <Pegasus/Common/ArrayInter.h>
153                   #undef PEGASUS_ARRAY_T
154                   */
155                   
156                   PEGASUS_NAMESPACE_END
157                   //#endif
158                   #endif
159                   #endif /* Pegasus_CQLIdentifier_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2