/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _CMS_MESSAGEENUMERATION_H_ #define _CMS_MESSAGEENUMERATION_H_ #include #include #include namespace cms{ /** * Defines an object that enumerates a collection of Messages. The client calls * the hasMoreMessages method to determine if a Message is available. If a Message * is available the client calls the nextMessage method to retrieve that Message, * calling nextMessage when a Message is not available results in an exception. * * @since 2.1 */ class CMS_API MessageEnumeration { public: virtual ~MessageEnumeration(); /** * Returns true if there are more Message in the Browser that can be retrieved * via the nextMessage method. If this method returns false and the * nextMessage method is called then an Exception will be thrown. * * @return true if more Message's are available in the Browser. */ virtual bool hasMoreMessages() = 0; /** * Returns the Next Message in the Queue if one is present, if no more Message's are * available then an Exception is thrown. If a Message object pointer is returned then * that object becomes the property of the caller and must be deleted by the caller * when finished. * * @return The next Message in the Queue. * * @throws CMSException if no more Message's currently in the Queue. */ virtual cms::Message* nextMessage() = 0; }; } #endif /* _CMS_MESSAGEENUMERATION_H_ */