00001 /*========================================================================= 00002 * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved. 00003 * This product is protected by U.S. and international copyright 00004 * and intellectual property laws. Pivotal products are covered by 00005 * one or more patents listed at http://www.pivotal.io/patents. 00006 *========================================================================= 00007 */ 00008 #ifndef USER_FUNCTION_EXECUTION_EXCEPTION 00009 #define USER_FUNCTION_EXECUTION_EXCEPTION 00010 00011 #include "Serializable.hpp" 00012 #include "CacheableString.hpp" 00013 00014 namespace gemfire 00015 { 00016 class UserFunctionExecutionException; 00017 typedef SharedPtr<UserFunctionExecutionException> UserFunctionExecutionExceptionPtr; 00018 00022 class UserFunctionExecutionException : public Serializable { 00023 00028 public: 00032 virtual ~UserFunctionExecutionException() { } 00033 00037 UserFunctionExecutionException(CacheableStringPtr msg); 00038 00043 virtual void toData( DataOutput& output ) const; 00044 00050 virtual Serializable* fromData( DataInput& input ); 00051 00061 virtual int32_t classId( ) const ; 00062 00072 virtual uint32_t objectSize() const; 00073 00082 virtual int8_t typeId( ) const; 00083 00087 CacheableStringPtr getMessage() { 00088 return m_message; 00089 } 00090 00094 CacheableStringPtr getName() { 00095 const char* msg = "UserFunctionExecutionException"; 00096 CacheableStringPtr str = CacheableString::create(msg); 00097 return str; 00098 } 00099 00100 private: 00101 // never implemented. 00102 UserFunctionExecutionException(const UserFunctionExecutionException& other); 00103 void operator =(const UserFunctionExecutionException& other); 00104 00105 CacheableStringPtr m_message; //error message 00106 00107 }; 00108 00109 00110 } 00111 #endif