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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2