Index: src/Parameters/Makefile.am
===================================================================
--- src/Parameters/Makefile.am	(revision 8453b3ae6d0c496d19f44e98134c48a38e3c79da)
+++ src/Parameters/Makefile.am	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -13,4 +13,6 @@
 	Parameters/Validators/DiscreteValidator.hpp \
 	Parameters/Validators/DiscreteValidator_impl.hpp \
+	Parameters/Validators/DummyValidator.hpp \
+	Parameters/Validators/GenericValidators.hpp \
 	Parameters/Validators/Ops_Validator.hpp \
 	Parameters/Validators/Ops_Validator_impl.hpp \
@@ -18,8 +20,27 @@
 	Parameters/Validators/RangeValidator_impl.hpp \
 	Parameters/Validators/STLVectorValidator.hpp \
+	Parameters/Validators/UniqueValidator.hpp \
 	Parameters/Validators/Validator.hpp \
+	Parameters/Validators/Specific/ActionNameValidator.hpp \
+	Parameters/Validators/Specific/AtomDataValidator.hpp \
+	Parameters/Validators/Specific/AtomIdValidator.hpp \
+	Parameters/Validators/Specific/BoxConditionValidator.hpp \
 	Parameters/Validators/Specific/BoxLengthValidator.hpp \
+	Parameters/Validators/Specific/BoxVectorValidator.hpp \
 	Parameters/Validators/Specific/ElementValidator.hpp \
 	Parameters/Validators/Specific/FilePresentValidator.hpp \
+	Parameters/Validators/Specific/FileSuffixValidator.hpp \
+	Parameters/Validators/Specific/FormulaValidator.hpp \
+	Parameters/Validators/Specific/KeyValueValidator.hpp \
+	Parameters/Validators/Specific/MoleculeIdValidator.hpp \
+	Parameters/Validators/Specific/ParserFileValidator.hpp \
+	Parameters/Validators/Specific/ParserTypeValidator.hpp \
+	Parameters/Validators/Specific/RandomNumberValidators.hpp \
+	Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.hpp \
+	Parameters/Validators/Specific/RealSpaceMatrixSymmetricValidator.hpp \
+	Parameters/Validators/Specific/RotationAngleValidator.hpp \
+	Parameters/Validators/Specific/TimeStepPresentValidator.hpp \
+	Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp \
+	Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp \
 	Parameters/Value.hpp \
 	Parameters/Value_impl.hpp \
Index: src/Parameters/Validators/GenericValidators.hpp
===================================================================
--- src/Parameters/Validators/GenericValidators.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/GenericValidators.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,39 @@
+/*
+ * GenericValidators.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef GENERICVALIDATORS_HPP_
+#define GENERICVALIDATORS_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given value is positive.
+ */
+template <class T>
+class PositiveValidator : public DummyValidator<T>
+{};
+
+/** This validator checks whether the given value is not zero.
+ */
+template <class T>
+class NotZeroValidator : public DummyValidator<T>
+{};
+
+/** This validator checks whether the given value is non-negative.
+ */
+template <class T>
+class NonNegativeValidator : public DummyValidator<T>
+{};
+
+
+
+#endif /* GENERICVALIDATORS_HPP_ */
Index: src/Parameters/Validators/Specific/ActionNameValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/ActionNameValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/ActionNameValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * ActionNameValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef ACTIONNAMEVALIDATOR_HPP_
+#define ACTIONNAMEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validators checks whether the value matches one of the available Action
+ * names.
+ */
+class ActionNameValidator : public DummyValidator<std::string>
+{};
+
+
+#endif /* ACTIONNAMEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/AtomDataValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/AtomDataValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/AtomDataValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * AtomDataValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef ATOMDATAVALIDATOR_HPP_
+#define ATOMDATAVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validators checks whether the string is a valid TremoloParser's ATOMDATA
+ * line.
+ */
+class AtomDataValidator : public DummyValidator<std::string>
+{};
+
+
+#endif /* ATOMDATAVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/AtomIdValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/AtomIdValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/AtomIdValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * AtomIdValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef ATOMIDVALIDATOR_HPP_
+#define ATOMIDVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "types.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validators checks whether the given atomic id is present in the World.
+ *
+ */
+class AtomIdValidator : public DummyValidator<atomId_t>
+{};
+
+
+#endif /* ATOMIDVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/BoxConditionValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/BoxConditionValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/BoxConditionValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * BoxConditionValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef BOXCONDITIONVALIDATOR_HPP_
+#define BOXCONDITIONVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given string is one keyword of a box
+ * condition.
+ */
+class BoxConditionValidator : public DummyValidator<std::string>
+{};
+
+
+#endif /* BOXCONDITIONVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/BoxLengthValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/BoxLengthValidator.hpp	(revision 8453b3ae6d0c496d19f44e98134c48a38e3c79da)
+++ src/Parameters/Validators/Specific/BoxLengthValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -17,4 +17,7 @@
 #include "Parameters/Validators/Validator.hpp"
 
+/** This validator checks whether the given double is not larger than any
+ * of the current Box' axis lengths.
+ */
 class BoxLengthValidator : public Validator< double >
 {
Index: src/Parameters/Validators/Specific/BoxVectorValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/BoxVectorValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/BoxVectorValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * BoxVectorValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef BOXVECTORVALIDATOR_HPP_
+#define BOXVECTORVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "LinearAlgebra/Vector.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given Vector is within the current
+ * simulation domain, i.e. the Box.
+ */
+class BoxVectorValidator : public DummyValidator< Vector >
+{};
+
+
+#endif /* BOXVECTORVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/FilePresentValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/FilePresentValidator.hpp	(revision 8453b3ae6d0c496d19f44e98134c48a38e3c79da)
+++ src/Parameters/Validators/Specific/FilePresentValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -15,8 +15,11 @@
 #endif
 
+#include <boost/filesystem.hpp>
+
 #include "Parameters/Validators/DummyValidator.hpp"
 
-#include <boost/filesystem.hpp>
-
+/** This validator checks whethet the file via the given path is present.
+ *
+ */
 class FilePresentValidator : public Validator< boost::filesystem::path >
 {
Index: src/Parameters/Validators/Specific/FileSuffixValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/FileSuffixValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/FileSuffixValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,36 @@
+/*
+ * FileSuffixValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef FILESUFFIXVALIDATOR_HPP_
+#define FILESUFFIXVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given path contains a valid suffix of
+ * a known \ref FormatParser.
+ */
+class FileSuffixValidator : public DummyValidator< boost::filesystem::path >
+{
+public:
+  FileSuffixValidator(const std::string &_suffix) :
+    suffix(_suffix)
+  {}
+
+private:
+  std::string suffix;
+};
+
+
+#endif /* FILESUFFIXVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/FormulaValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/FormulaValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/FormulaValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,27 @@
+/*
+ * FormulaValidator.hpp
+ *
+ *  Created on: May 9, 2012
+ *      Author: heber
+ */
+
+#ifndef FORMULAVALIDATOR_HPP_
+#define FORMULAVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given string contains a valid chemical
+ * formula.
+ */
+class FormulaValidator : public DummyValidator< std::string >
+{};
+
+#endif /* FORMULAVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/KeyValueValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/KeyValueValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/KeyValueValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * KeyValueValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef KEYVALUEVALIDATOR_HPP_
+#define KEYVALUEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given string is a valid key value
+ * concatenation of the following pattern "...=...;"
+ */
+class KeyValueValidator : public DummyValidator<std::string>
+{};
+
+
+#endif /* KEYVALUEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/MoleculeIdValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/MoleculeIdValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/MoleculeIdValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * MoleculeIdValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef MOLECULEIDVALIDATOR_HPP_
+#define MOLECULEIDVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "types.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given molecule id refers to one molecule
+ * currently present in the World.
+ */
+class MoleculeIdValidator : public DummyValidator<moleculeId_t>
+{};
+
+
+#endif /* MOLECULEIDVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/ParserFileValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/ParserFileValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/ParserFileValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * ParserFileValidator.hpp
+ *
+ *  Created on: May 9, 2012
+ *      Author: heber
+ */
+
+#ifndef PARSERFILEVALIDATOR_HPP_
+#define PARSERFILEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <boost/filesystem.hpp>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the file via the given path has the suffix
+ * of a valid \ref FormatParser type.
+ */
+class ParserFileValidator : public DummyValidator< boost::filesystem::path >
+{};
+
+
+#endif /* PARSERFILEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/ParserTypeValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/ParserTypeValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/ParserTypeValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * ParserTypeValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef PARSERTYPEVALIDATOR_HPP_
+#define PARSERTYPEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given string refers to a valid
+ * \ref FormatParser type.
+ */
+class ParserTypeValidator : public DummyValidator<std::string>
+{};
+
+
+#endif /* PARSERTYPEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/RandomNumberValidators.hpp
===================================================================
--- src/Parameters/Validators/Specific/RandomNumberValidators.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/RandomNumberValidators.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,33 @@
+/*
+ * RandomNumberValidators.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef RANDOMNUMBERVALIDATORS_HPP_
+#define RANDOMNUMBERVALIDATORS_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given string contains the name of a
+ * present \ref RandomNumberDistribution.
+ */
+class RandomNumberDistributionNameValidator : public DummyValidator<std::string>
+{};
+
+/** This validator checks whether the given string contains the name of a
+ * present \ref RandomNumberEngine.
+ */
+class RandomNumberEngineNameValidator : public DummyValidator<std::string>
+{};
+
+#endif /* RANDOMNUMBERVALIDATORs_HPP_ */
Index: src/Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * RealSpaceMatrixInvertibleValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef REALSPACEMATRIXINVERTIBLEVALIDATOR_HPP_
+#define REALSPACEMATRIXINVERTIBLEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given RealSpaceMatrix is invertible.
+ *
+ */
+class RealSpaceMatrixInvertibleValidator : public DummyValidator<RealSpaceMatrix>
+{};
+
+
+#endif /* REALSPACEMATRIXINVERTIBLEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/RealSpaceMatrixSymmetricValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/RealSpaceMatrixSymmetricValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/RealSpaceMatrixSymmetricValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * RealSpaceMatrixSymmetricValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef REALSPACEMATRIXSYMMETRICVALIDATOR_HPP_
+#define REALSPACEMATRIXSYMMETRICVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given RealSpaceMatrix is symmetric.
+ *
+ */
+class RealSpaceMatrixSymmetricValidator : public DummyValidator<RealSpaceMatrix>
+{};
+
+
+#endif /* REALSPACEMATRIXSYMMETRICVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/RotationAngleValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/RotationAngleValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/RotationAngleValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,31 @@
+/*
+ * RotationAngleValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef ROTATIONANGLEVALIDATOR_HPP_
+#define ROTATIONANGLEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Parameters/Validators/RangeValidator.hpp"
+
+/** This validator checks whether the given double contains a valid
+ * angle in the interval [0,360).
+ */
+class RotationAngleValidator : public RangeValidator<double>
+{
+public:
+  RotationAngleValidator() :
+    RangeValidator<double>(-360., 360.)
+  {};
+};
+
+
+#endif /* ROTATIONANGLEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/TimeStepPresentValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/TimeStepPresentValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/TimeStepPresentValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,26 @@
+/*
+ * TimeStepPresentValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef TIMESTEPPRESENTVALIDATOR_HPP_
+#define TIMESTEPPRESENTVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given time step is present in the World.
+ *
+ */
+class TimeStepPresentValidator : public DummyValidator<unsigned int>
+{};
+
+
+#endif /* TIMESTEPPRESENTVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * VectorPositiveComponentsValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef VECTORPOSITIVECOMPONENTSVALIDATOR_HPP_
+#define VECTORPOSITIVECOMPONENTSVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "LinearAlgebra/Vector.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given \ref Vector's components only have
+ * (strictly) positive values.
+ */
+class VectorPositiveComponentsValidator : public DummyValidator<Vector>
+{};
+
+
+#endif /* VECTORPOSITIVECOMPONENTSVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,28 @@
+/*
+ * VectorZeroOneComponentsValidator.hpp
+ *
+ *  Created on: May 10, 2012
+ *      Author: heber
+ */
+
+#ifndef VECTORZEROONECOMPONENTSVALIDATOR_HPP_
+#define VECTORZEROONECOMPONENTSVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "LinearAlgebra/Vector.hpp"
+
+#include "Parameters/Validators/DummyValidator.hpp"
+
+/** This validator checks whether the given \ref Vector's components are
+ * all in [0,1].
+ */
+class VectorZeroOneComponentsValidator : public DummyValidator<Vector>
+{};
+
+
+#endif /* VECTORZEROONECOMPONENTSVALIDATOR_HPP_ */
Index: src/Parameters/Validators/UniqueValidator.hpp
===================================================================
--- src/Parameters/Validators/UniqueValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
+++ src/Parameters/Validators/UniqueValidator.hpp	(revision 23958dd80ccf15c9c0392965d2c6f255f8f82917)
@@ -0,0 +1,75 @@
+/*
+ * STLVectorValidator.hpp
+ *
+ *  Created on: May 9, 2012
+ *      Author: heber
+ */
+
+#ifndef VECTORVALIDATOR_HPP_
+#define VECTORVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "DummyValidator.hpp"
+#include "RangeValidator.hpp"
+#include "Validator.hpp"
+
+#include <vector>
+
+#include "CodePatterns/Range.hpp"
+
+/** This validator checks whether a given class which must be a (STL) container
+ *  with value_type typedef has only unique items.
+ */
+template <class T>
+class UniqueValidator : public Validator< T >
+{
+  //!> this should throw an error at compile time if T is not a container
+  typedef typename T::value_type valuetype;
+
+public:
+  /** Constructor for class UniqueValidator.
+   *
+   */
+  UniqueValidator()
+  {}
+
+  /** Destructor for class UniqueValidator
+   *
+   */
+  ~UniqueValidator()
+  {}
+
+  bool isValid(const T & _value) const
+  {
+    // make unique and check length
+    T copyvalue(_value);
+    std::sort(copyvalue.begin(), copyvalue.end());
+    typename T::const_iterator iter = std::unique(copyvalue.begin(), copyvalue.end());
+    if (iter == copyvalue.end())
+      return true;
+    else
+      return false;
+  }
+  bool operator==(const Validator<T> &_instance) const
+  {
+    const UniqueValidator<T> *inst = dynamic_cast<const UniqueValidator<T> *>(&_instance);
+    if (inst)
+      return true;
+    else
+      return false;
+  }
+
+  Validator<T>* clone() const
+  {
+    Validator<T> *inst = new UniqueValidator<T>();
+    return inst;
+  }
+};
+
+
+#endif /* VECTORVALIDATOR_HPP_ */
