Index: /branches/new_class_id/src/lib/util/Makefile.am
===================================================================
--- /branches/new_class_id/src/lib/util/Makefile.am	(revision 9747)
+++ /branches/new_class_id/src/lib/util/Makefile.am	(revision 9748)
@@ -10,6 +10,4 @@
 		executor/executor_lua_state.cc \
 		executor/executor_substring.cc
-
-#		executor/executor_functional.cc
 
 libORXlibutil_a_SOURCES = \
Index: /branches/new_class_id/src/lib/util/executor/executor.cc
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor.cc	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor.cc	(revision 9748)
@@ -18,8 +18,14 @@
 #include "executor.h"
 
+/** @returns the Type of an Argument taken by the Executor in this case MT_BOOL */
 template<> MT_Type ExecutorParamType<bool>() { return MT_BOOL; };
+/** @returns the Type of an Argument taken by the Executor in this case MT_INT*/
 template<> MT_Type ExecutorParamType<int>() { return MT_INT; };
+/** @returns the Type of an Argument taken by the Executor in this case MT_UINT*/
 template<> MT_Type ExecutorParamType<unsigned int>() { return MT_UINT; };
+/** @returns the Type of an Argument taken by the Executor in this case MT_FLOAT*/
 template<> MT_Type ExecutorParamType<float>() { return MT_FLOAT; };
+/** @returns the Type of an Argument taken by the Executor in this case MT_CHAR*/
 template<> MT_Type ExecutorParamType<char>() { return MT_CHAR; };
+/** @returns the Type of an Argument taken by the Executor in this case MT_STRING*/
 template<> MT_Type ExecutorParamType<const std::string&>() { return MT_STRING; };
Index: /branches/new_class_id/src/lib/util/executor/executor.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor.h	(revision 9748)
@@ -16,5 +16,5 @@
 
 
-
+/** @returns the Type of an Argument taken by the Executor */
 template<typename type> MT_Type ExecutorParamType() { return MT_EXT1; };
 template<> MT_Type ExecutorParamType<bool>();
@@ -66,5 +66,5 @@
   inline bool hasRetVal() const { return bRetVal; };
 
-  /** executes a Command. @param objec the Object, @param count how many values, @param values the Values */
+  /** executes a Command. @param object the Object, @param values The Value of type CallType to pass to the Executor. */
   virtual void operator()(BaseClass* object, CallType& values) const = 0;
 
@@ -76,4 +76,6 @@
    * @param value3 the fourth default value
    * @param value4 the fifth default value
+   * @param value5 the sixth default value
+   * @param value6 the seventh default value
    * @returns itself
    * @note: THIS FUNCTION WILL BE REPLACED BY A CONFIGURATOR (most probably).
@@ -109,8 +111,10 @@
 protected:
   //! Now follows a List of Executor Constructors, to be fast in creating.
+  //! Creates an Executor with no Argument.
   Executor(bool hasRetVal, FunctionType functionType = FunctionMember)
   : bRetVal(hasRetVal), paramCount(0), functionType(functionType)
   { };
 
+  //! Creates an Executor with 1 Argument.
   Executor(bool hasRetVal, const MultiType& param0,
 	   FunctionType functionType = FunctionMember)
@@ -120,4 +124,5 @@
   };
 
+  //! Creates an Executor with 2 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   FunctionType functionType = FunctionMember)
@@ -128,4 +133,5 @@
   };
 
+  //! Creates an Executor with 3 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   const MultiType& param2,
@@ -138,4 +144,5 @@
   };
 
+  //! Creates an Executor with 4 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   const MultiType& param2, const MultiType& param3,
@@ -149,4 +156,5 @@
   };
 
+  //! Creates an Executor with 5 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   const MultiType& param2, const MultiType& param3,
@@ -162,4 +170,5 @@
   };
 
+  //! Creates an Executor with 6 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   const MultiType& param2, const MultiType& param3,
@@ -176,4 +185,5 @@
   };
 
+  //! Creates an Executor with 7 Arguments.
   Executor(bool hasRetVal, const MultiType& param0, const MultiType& param1,
 	   const MultiType& param2, const MultiType& param3,
Index: /branches/new_class_id/src/lib/util/executor/executor_const_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_const_member.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_const_member.h	(revision 9748)
@@ -1,4 +1,4 @@
 /*!
- * @file executor_member.h
+ * @file executor_const_member.h
  * Definition of an Executor to Member Functions
  */
Index: /branches/new_class_id/src/lib/util/executor/executor_generic.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9748)
@@ -49,7 +49,13 @@
   static ToType getValue(FromType& CallValue, const MultiType* const defaults)
   {
-    assert(0 && "Might be by mistake");
+    assert(0 && "Might want to extend the ExecutorEvaluater::getValue function in an 'Explicit Specialized Template Class'");
     return defaultValue;
   }
+  /** @param @storeTo Stores the returned value here. @param value The Value to Store. @note invers of getValue */
+  static void storeRet(FromType& storeTo, FromType value)
+  {
+    assert (0 && "Might want to extend the ExecutorEvaluater::storeRet function in an 'Explicit Specialized Template Class'");
+  }
+  /** @returns the Default Value of ToType */
   static FromType& defaultValue() { static FromType defaultValue; return defaultValue; };
 };
Index: anches/new_class_id/src/lib/util/executor/executor_lua.cc
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_lua.cc	(revision 9747)
+++ 	(revision )
@@ -1,39 +1,0 @@
-/*
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: ...
-   co-programmer: ...
-*/
-
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
-
-#include "executor_lua.h"
-
-#include "lunar.h"
-
-std::string temp[7];
-
-template<typename type> type fromLua(lua_State* state, int index) { type *obj = Lunar<type>::check(state, 1); lua_remove(state, 1); return obj;};
-template<> bool fromLua<bool>(lua_State* state, int index) { return lua_toboolean(state, index); };
-template<> int fromLua<int>(lua_State* state, int index) { return (int)lua_tonumber(state, index); };
-template<> unsigned int fromLua<unsigned int>(lua_State* state, int index) { return (unsigned int)lua_tonumber(state, index); };
-template<> float fromLua<float>(lua_State* state, int index) { return (float)lua_tonumber(state, index); };
-template<> char fromLua<char>(lua_State* state, int index) { return (char)lua_tonumber(state, index); };
-template<> const std::string& fromLua<const std::string&>(lua_State* state, int index) { temp[index] = lua_tostring(state, index); return temp[index]; };
-
-
-template<typename type> void toLua(lua_State* state, type value) { Lunar<type>::push(state, value, false); };
-template<> void toLua<bool>(lua_State* state, bool value) { lua_pushboolean(state, (int) value); };
-template<> void toLua<int>(lua_State* state, int value)  { lua_pushnumber(state, (lua_Number) value); };
-template<> void toLua<unsigned int>(lua_State* state, unsigned int value){ lua_pushnumber(state, (lua_Number) value); };
-template<> void toLua<float>(lua_State* state, float value) { lua_pushnumber(state, (lua_Number) value); };
-template<> void toLua<char>(lua_State* state, char value) { lua_pushnumber(state, (lua_Number) value); };
-template<> void toLua<const std::string&>(lua_State* state, const std::string& value) { lua_pushstring (state, value.c_str()); }
Index: anches/new_class_id/src/lib/util/executor/executor_lua.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_lua.h	(revision 9747)
+++ 	(revision )
@@ -1,530 +1,0 @@
-/*!
- * @file executor.h
- * Definition of a on-screen-shell
- */
-
-#ifndef _EXECUTOR_LUA_H
-#define _EXECUTOR_LUA_H
-
-#include "executor.h"
-#include "compiler.h"
-#include "debug.h"
-#include "luaincl.h"
-
-
-
-template<typename type> type fromLua(lua_State* state, int index);
-template<> bool fromLua<bool>(lua_State* state, int index);
-template<> int fromLua<int>(lua_State* state, int index);
-template<> unsigned int fromLua<unsigned int>(lua_State* state, int index);
-template<> float fromLua<float>(lua_State* state, int index);
-template<> char fromLua<char>(lua_State* state, int index);
-template<> const std::string& fromLua<const std::string&>(lua_State* state, int index);
-
-template<typename type> void toLua(lua_State* state, type value);
-template<> void toLua<bool>(lua_State* state, bool value);
-template<> void toLua<int>(lua_State* state, int value);
-template<> void toLua<unsigned int>(lua_State* state, unsigned int value);
-template<> void toLua<float>(lua_State* state, float value);
-template<> void toLua<char>(lua_State* state, char value);
-template<> void toLua<const std::string&>(lua_State* state, const std::string& value);
-
-// FORWARD DECLARATION
-
-///////////////////////
-///// WITHOUT RET /////
-///////////////////////
-
-///////////
-//// 0 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T> class ExecutorLua0 : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua0(void(T::*function)())
-      : Executor<lua_State*>(false)
-  {
-    this->functionPointer = function;
-  }
-
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    (dynamic_cast<T*>(object)->*(functionPointer))();
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua0<T>(ExecutorLua0<T>(this->functionPointer));
-  }
-private:
-  void          (T::*functionPointer)();
-};
-
-
-
-///////////
-//// 1 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename type0> class ExecutorLua1 : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua1(void(T::*function)(type0))
-      : Executor<lua_State*>(false, ExecutorParamType<type0>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    (dynamic_cast<T*>(object)->*(functionPointer))(fromLua<type0>(state, 1));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua1<T, type0>((this->functionPointer));
-  }
-private:
-  void          (T::*functionPointer)(type0);
-};
-
-
-
-///////////
-//// 2 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename type0, typename type1> class ExecutorLua2 : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua2(void(T::*function)(type0, type1))
-      : Executor<lua_State*>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    (dynamic_cast<T*>(object)->*(functionPointer))(
-      fromLua<type0>(state, 1),
-      fromLua<type1>(state, 2) );
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua2<T, type0, type1>(this->functionPointer);
-  }
-private:
-  void          (T::*functionPointer)(type0, type1);
-};
-
-
-///////////
-//// 3 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename type0, typename type1, typename type2> class ExecutorLua3 : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua3(void(T::*function)(type0, type1, type2))
-      : Executor<lua_State*>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>())
-  {
-    this->functionPointer = function;
-  }
-
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    (dynamic_cast<T*>(object)->*(functionPointer))(
-      fromLua<type0>(state, 1),
-      fromLua<type1>(state, 2),
-      fromLua<type2>(state, 3) );
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua3<T, type0, type1, type2>(this->functionPointer);
-  }
-private:
-  void          (T::*functionPointer)(type0, type1, type2);
-};
-
-
-///////////
-//// 4 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename type0, typename type1, typename type2, typename type3> class ExecutorLua4 : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua4(void(T::*function)(type0, type1, type2, type3))
-      : Executor<lua_State*>(false, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>(), ExecutorParamType<type3>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    (dynamic_cast<T*>(object)->*(functionPointer))(
-      fromLua<type0>(state, 1),
-      fromLua<type1>(state, 2),
-      fromLua<type2>(state, 3),
-      fromLua<type3>(state, 4) );
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua4<T, type0, type1, type2, type3>(this->functionPointer);
-  }
-private:
-  void          (T::*functionPointer)(type0, type1, type2, type3);
-};
-
-
-
-
-////////////////////
-///// WITH RET /////
-////////////////////
-
-
-///////////
-//// 0 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret> class ExecutorLua0ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua0ret(ret (T::*function)())
-      : Executor<lua_State*>(true)
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))());
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua0ret<T, ret>(this->functionPointer);
-  }
-private:
-  ret           (T::*functionPointer)();
-};
-
-
-
-///////////
-//// 1 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0> class ExecutorLua1ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua1ret(ret (T::*function)(type0))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1)));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua1ret<T, ret, type0>(this->functionPointer);
-  }
-private:
-  ret           (T::*functionPointer)(type0);
-};
-
-///////////
-//// 2 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1> class ExecutorLua2ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua2ret(ret (T::*function)(type0, type1))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2) ));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua2ret<T, ret, type0, type1>(this->functionPointer);
-  }
-private:
-  ret           (T::*functionPointer)(type0, type1);
-};
-
-
-///////////
-//// 3 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1, typename type2> class ExecutorLua3ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua3ret(ret (T::*function)(type0, type1, type2))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2),
-                 fromLua<type2>(state, 3) ));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua3ret<T, ret, type0, type1, type2>(this->functionPointer);
-  }
-private:
-  ret          (T::*functionPointer)(type0, type1, type2);
-};
-
-
-///////////
-//// 4 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1, typename type2, typename type3> class ExecutorLua4ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua4ret(ret (T::*function)(type0, type1, type2, type3))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>(), ExecutorParamType<type3>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2),
-                 fromLua<type2>(state, 3),
-                 fromLua<type3>(state, 4) ));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua4ret<T, ret, type0, type1, type2, type3>(this->functionPointer);
-  }
-private:
-  ret          (T::*functionPointer)(type0, type1, type2, type3);
-};
-
-///////////
-//// 5 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1, typename type2, typename type3, typename type4> class ExecutorLua5ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua5ret(ret (T::*function)(type0, type1, type2, type3, type4))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>(), ExecutorParamType<type2>(), ExecutorParamType<type3>(), ExecutorParamType<type4>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2),
-                 fromLua<type2>(state, 3),
-                 fromLua<type3>(state, 4),
-                 fromLua<type4>(state, 5) ));
-  }
-
-  /**
-   * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua5ret<T, ret, type0, type1, type2, type3, type4>(this->functionPointer);
-  }
-private:
-  ret          (T::*functionPointer)(type0, type1, type2, type3, type4);
-};
-
-///////////
-//// 6 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1, typename type2, typename type3, typename type4, typename type5> class ExecutorLua6ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua6ret(ret (T::*function)(type0, type1, type2, type3, type4, type5))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>(),
-                             ExecutorParamType<type2>(), ExecutorParamType<type3>(),
-                             ExecutorParamType<type4>(), ExecutorParamType<type5>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2),
-                 fromLua<type2>(state, 3),
-                 fromLua<type3>(state, 4),
-                 fromLua<type4>(state, 5),
-                 fromLua<type5>(state, 6) ));
-  }
-
-  /**
-            * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua6ret<T, ret, type0, type1, type2, type3, type4, type5>(this->functionPointer);
-  }
-private:
-  ret           (T::*functionPointer)(type0, type1, type2, type3, type4, type5);
-};
-
-///////////
-//// 7 ////
-///////////
-//! Executes a Function with a lua_State* parameter.
-template<class T, typename ret, typename type0, typename type1, typename type2, typename type3, typename type4, typename type5, typename type6> class ExecutorLua7ret : public Executor<lua_State*>
-{
-public:
-  /**
-  * @brief Constructor of a ExecutorXML
-  * @param function a Function to call
-   */
-  ExecutorLua7ret(ret (T::*function)(type0, type1, type2, type3, type4, type5, type6))
-      : Executor<lua_State*>(true, ExecutorParamType<type0>(), ExecutorParamType<type1>(),
-                             ExecutorParamType<type2>(), ExecutorParamType<type3>(),
-                             ExecutorParamType<type4>(), ExecutorParamType<type5>(),
-                             ExecutorParamType<type6>())
-  {
-    this->functionPointer = function;
-  }
-
-  virtual void operator()(BaseObject* object, lua_State*& state) const
-  {
-    toLua<ret>(state, (dynamic_cast<T*>(object)->*(functionPointer))(
-                 fromLua<type0>(state, 1),
-                 fromLua<type1>(state, 2),
-                 fromLua<type2>(state, 3),
-                 fromLua<type3>(state, 4),
-                 fromLua<type4>(state, 5),
-                 fromLua<type5>(state, 6),
-                 fromLua<type6>(state, 7) ));
-  }
-
-  /**
-            * @returns a _new_ Copy of this Executor
-   */
-  virtual Executor<lua_State*>* clone () const
-  {
-    return new ExecutorLua7ret<T, ret, type0, type1, type2, type3, type4, type5, type6>(this->functionPointer);
-  }
-private:
-  ret           (T::*functionPointer)(type0, type1, type2, type3, type4, type5, type6);
-};
-
-
-#endif /* _EXECUTOR_LUA_H */
Index: /branches/new_class_id/src/lib/util/executor/executor_lua_state.cc
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_lua_state.cc	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_lua_state.cc	(revision 9748)
@@ -22,18 +22,97 @@
 std::string temp[7];
 
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<typename type> type fromLua(lua_State* state, int index) { type *obj = Lunar<type>::check(state, 1); lua_remove(state, 1); return obj;};
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> bool fromLua<bool>(lua_State* state, int index) { return lua_toboolean(state, index); };
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> int fromLua<int>(lua_State* state, int index) { return (int)lua_tonumber(state, index); };
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> unsigned int fromLua<unsigned int>(lua_State* state, int index) { return (unsigned int)lua_tonumber(state, index); };
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> float fromLua<float>(lua_State* state, int index) { return (float)lua_tonumber(state, index); };
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> char fromLua<char>(lua_State* state, int index) { return (char)lua_tonumber(state, index); };
+/**
+ * @brief Converts a lua_State into any type.
+ * @param state the State to get the value from.
+ * @param index the position inside of the lua_State to get the value from.
+ * @returns The value if found.
+ */
 template<> const std::string& fromLua<const std::string&>(lua_State* state, int index) { temp[index] = lua_tostring(state, index); return temp[index]; };
 
 
+
+
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<typename type> void toLua(lua_State* state, type value) { Lunar<type>::push(state, value, false); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<bool>(lua_State* state, bool value) { lua_pushboolean(state, (int) value); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<int>(lua_State* state, int value)  { lua_pushnumber(state, (lua_Number) value); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<unsigned int>(lua_State* state, unsigned int value){ lua_pushnumber(state, (lua_Number) value); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<float>(lua_State* state, float value) { lua_pushnumber(state, (lua_Number) value); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<char>(lua_State* state, char value) { lua_pushnumber(state, (lua_Number) value); };
+/**
+ * @brief writes a value into a lua_State.
+ * @param state the state to write into.
+ * @param value the Value of type to write into the State.
+ */
 template<> void toLua<const std::string&>(lua_State* state, const std::string& value) { lua_pushstring (state, value.c_str()); }
Index: /branches/new_class_id/src/lib/util/executor/executor_lua_state.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_lua_state.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_lua_state.h	(revision 9748)
@@ -1,5 +1,5 @@
 /*!
- * @file executor_generic.h
- * Definition of a Generic Executor
+ * @file executor_lua_state.h
+ * Definition of a Executor that takes lua_State* as input.
  */
 
@@ -32,6 +32,6 @@
  #undef FUNCTOR_CALL_TYPE
 #endif
+//! Define the Functor call type as lua_State*.
 #define FUNCTOR_CALL_TYPE lua_State*
-
 
 template<typename type> type fromLua(lua_State* state, int index);
@@ -64,4 +64,8 @@
     return (fromLua<ToType>(CallValue, index+1));
   }
+  /**
+   * @param state the state to write into
+   * @param value the Value to write there.
+   */
   template <typename FromType>
   static void storeRet(lua_State*& state, FromType value)
@@ -69,4 +73,5 @@
     toLua<FromType>(state, value);
   }
+  /** @returns the Null Value of a lua_State*, namely (pointer-type) NULL */
   static lua_State*& defaultValue() { static lua_State* nullState; return nullState; };
 };
Index: /branches/new_class_id/src/lib/util/executor/executor_static.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_static.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_static.h	(revision 9748)
@@ -1,5 +1,5 @@
 /*!
- * @file executor_member.h
- * Definition of an Executor to Member Functions
+ * @file executor_static.h
+ * Definition of an Executor to Static Functions (either Static-Class or C-Style)
  */
 /*
Index: /branches/new_class_id/src/lib/util/executor/executor_substring.cc
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_substring.cc	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_substring.cc	(revision 9748)
@@ -17,65 +17,126 @@
 #include "helper_functions.h"
 
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> bool fromString<bool>(const std::string& input, bool defaultValue) { return isBool(input, defaultValue); };
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> int fromString<int>(const std::string& input, int defaultValue) { return isInt(input, defaultValue); };
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> unsigned int fromString<unsigned int>(const std::string& input, unsigned int defaultValue) { return isInt(input, defaultValue); };
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> float fromString<float>(const std::string& input, float defaultValue) { return isFloat(input, defaultValue); };
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> char fromString<char>(const std::string& input, char defaultValue) { return isInt(input, defaultValue); };
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue) { return (input.size() > 0) ? input : defaultValue; };
 
 
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> bool fromMulti<bool>(const MultiType& multi) { return multi.getBool(); };
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> int fromMulti<int>(const MultiType& multi) { return multi.getInt(); }
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> unsigned int fromMulti<unsigned int>(const MultiType& multi) { return multi.getInt(); };
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> float fromMulti<float>(const MultiType& multi) { return multi.getFloat(); };
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> char fromMulti<char>(const MultiType& multi) { return multi.getChar(); };
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<> const std::string& fromMulti<const std::string&>(const MultiType& multi) { return multi.getConstString(); };
 
 
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getBool(); };
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> int getDefault<int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); };
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> unsigned int getDefault<unsigned int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); };
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> float getDefault<float>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getFloat(); };
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> char getDefault<char>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getChar(); };
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<> const std::string& getDefault<const std::string&>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getStoredString(); };
-
-
-
-
-
-
-
-/**
- * A LITTLE TESTING SUITE FOR THE EXECUTOR.
- *
-#include "executor/executor_functional.h"
-
-#define EXECUTOR_FUNCTIONAL_USE_STATIC
-#include "executor/executor_functional.h"
-
-class TestClass : public BaseObject
-{
-  public:
-    TestClass() {};
-
-    void printTest() { printf ("TEST\n"); };
-    void printTestInt(int i) { printf ("%d\n", i); };
-    void printTestBool(bool b) { printf("%d\n", (int)b); };
-    void printTwoVals(int b, int i) { printf ("%d %d\n", b, i); };
-    void printStrings(const std::string& name) { printf("String:: '%s'\n", name.c_str()); };
-    static void printStatic() { printf("STATIC\n");};
-};
-
-void TEST()
-{
-  TestClass test;
-  SubString testStrings("1 SCHEISSE, 2, 3", ",", SubString::WhiteSpaces, false);
-  (*createExecutor<TestClass>(&TestClass::printTest))(&test, testStrings);
-  (*createExecutor<TestClass>(&TestClass::printTestInt))(&test, testStrings);
-  (*createExecutor<TestClass>(&TestClass::printTestBool))(&test, testStrings);
-  (*createExecutor<TestClass>(&TestClass::printTwoVals))(&test, testStrings);
-  (*createExecutor<TestClass>(&TestClass::printStatic))(&test, testStrings);
-  (*createExecutor<TestClass>(&TestClass::printStrings))(&test, testStrings);
-
-}
-*/
Index: /branches/new_class_id/src/lib/util/executor/executor_substring.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_substring.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_substring.h	(revision 9748)
@@ -1,4 +1,4 @@
 /*!
- * @file executor_generic.h
+ * @file executor_substring.h
  * Definition of a Generic Executor
  */
@@ -30,6 +30,13 @@
  #undef FUNCTOR_CALL_TYPE
 #endif
+//! Use SubString as the FUNCTION_CALL_TYPE so that we can easily extend the Engine.
 #define FUNCTOR_CALL_TYPE const SubString
 
+/**
+ * @brief converts an input string into a value, if no value was converted, uses defaultValue.
+ * @param input the input as a String.
+ * @param defaultValue the Default Value set, if the input could not be converted into type.
+ * @returns either the converted value or defaultValue.
+ */
 template<typename type> type fromString(const std::string& input, type defaultValue) { return defaultValue; };
 template<> bool fromString<bool>(const std::string& input, bool defaultValue);
@@ -40,4 +47,9 @@
 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue);
 
+/**
+ * @brief converts to any type from a MultiType
+ * @param multi the MultiType to convert.
+ * @returns the converted Value.
+ */
 template<typename type> type fromMulti(const MultiType& multi) { /* return defaultValue; */ };
 template<> bool fromMulti<bool>(const MultiType& multi);
@@ -48,5 +60,10 @@
 template<> const std::string& fromMulti<const std::string&>(const MultiType& multi);
 
-
+/**
+ * @brief retrieves a default value from an array of default values, at possition i.
+ * @param defaultValues the Array of default values.
+ * @param i the index.
+ * @returns the Default Value at Position i
+ */
 template<typename type> type getDefault(const MultiType* const defaultValues, unsigned int i) { return (type)0; };
 template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i);
@@ -77,4 +94,5 @@
            fromMulti<ToType>(defaults[index]);
   }
+  /** @returns the default Value of a SubString, namely NullSubString or SubString() */
   static const SubString& defaultValue() { return SubString::NullSubString; };
 };
Index: /branches/new_class_id/src/lib/util/executor/executor_xml.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_xml.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/executor_xml.h	(revision 9748)
@@ -54,5 +54,5 @@
    * @brief executes the Command on BaseObject
    * @param object the BaseObject to execute this Executor on
-   * @param root ignored in this case
+   * @param element ignored in this case
    */
   virtual void operator()(BaseObject* object, const TiXmlElement*& element) const
@@ -64,7 +64,7 @@
 
 private:
-  void    (T::*functionPointer)(const TiXmlElement*);  //!< The functionPointer to the function to be called
+  void    (T::*functionPointer)(const TiXmlElement*);  //!< The functionPointer to the function to be called.
   const   TiXmlElement* element;                       //!< The XML-element to call.
-  std::string           paramName;
+  std::string           paramName;                     //!< The Name of the Parameter this Executor should call.
 };
 
Index: /branches/new_class_id/src/lib/util/executor/functor_const_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_const_member.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/functor_const_member.h	(revision 9748)
@@ -1,4 +1,4 @@
 /*!
- * @file functor_member.h
+ * @file functor_const_member.h
  * Definition of an Functor
  */
Index: /branches/new_class_id/src/lib/util/executor/functor_list.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_list.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/functor_list.h	(revision 9748)
@@ -1,2 +1,7 @@
+/*!
+ * @file functor_list.h
+ * all the Different types of Functions one can include by using a simple createExecutor call
+ * with a FunctionPointer as Argument
+ */
 /*
    orxonox - the future of 3D-vertical-scrollers
@@ -10,9 +15,4 @@
 */
 
-/*!
- * @file functors_list.h
- * all the Different types of Functions one can include by using a simple createExecutor call
- * with a FunctionPointer as Argument
- */
 
 #ifdef FUNCTOR_LIST
Index: /branches/new_class_id/src/lib/util/executor/functor_static.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_static.h	(revision 9747)
+++ /branches/new_class_id/src/lib/util/executor/functor_static.h	(revision 9748)
@@ -1,5 +1,5 @@
 /*!
- * @file functor_member.h
- * Definition of an Functor
+ * @file functor_static.h
+ * Definition of Functors to Functions of Static Type
  */
 
