/*
 * RandomSubstringFactory.h
 *
 *  Created on: 27. 3. 2014
 *      Author: Jan Travnicek
 */

#ifndef RANDOM_SUBSTRING_FACTORY_H_
#define RANDOM_SUBSTRING_FACTORY_H_

#include <core/multipleDispatch.hpp>
#include <string/String.h>
#include <string/StringFeatures.h>

namespace string {

namespace generate {

class RandomSubstringFactory : public std::SingleDispatchFirstStaticParam < string::LinearString, size_t, string::StringBase > {
public:
	static string::LinearString generateSubstring ( size_t size, const string::LinearString & );

	static RandomSubstringFactory & getInstance ( ) {
		static RandomSubstringFactory res;

		return res;
	}

};

} /* namespace generate */

} /* namespace string */

#endif /* RANDOM_SUBSTRING_FACTORY_H_ */