package cz.cuni.mff.d3s.spl.agent;

import java.io.PrintStream;
import java.util.HashSet;
import java.util.Set;

public class Settings {
	public static int DEFAULT_SKIP_FACTOR = 100;
	public static boolean DEBUG_CLASSLOADERS = false;
	public static boolean DEBUG_LOADING_TRANSFORMER = false;
	public static boolean DEBUG_RETRANSFORMING_TRANSFORMER = false;
	public static boolean DEBUG_ALL_CLASS_LOADING = false;
	public static PrintStream log = System.out;
	public static boolean DEBUG_WATCH_CLASSES = false;
	// Slash separated!
	public static Set<String> WATCHED_CLASSES = new HashSet<>();
	public static boolean DEBUG_WATCH_CLASS(String classname) {
		return DEBUG_WATCH_CLASSES && WATCHED_CLASSES.contains(classname);
	}
}

@@ -135,327 +135,1057 @@
  %7B%0A%09
-public static int DEFAULT_SKIP_FACTOR = 100;%0A%09public static boolean DEBUG_CLASSLOADERS = false;%0A%09public static boolean DEBUG_LOADING_TRANSFORMER = false;%0A%09public static boolean DEBUG_RETRANSFORMING_TRANSFORMER = false;%0A%09public static boolean DEBUG_ALL_CLASS_LOADING = false;%0A%09public static PrintStream log = System.out;
+/** How many invocations are skipped before one is recorded.%0A%09 * %0A%09 * The default value means that 100 invocations of the%0A%09 * instrumented function will not be measured and then the%0A%09 * 101st would be measured and the result would be added to%0A%09 * the respective SampleStorage.%0A%09 */%0A%09public static int DEFAULT_SKIP_FACTOR = 100;%0A%09%0A%09/** Whether to dump newly registered class-loader. */%0A%09public static boolean DEBUG_CLASSLOADERS = false;%0A%09%0A%09/** Whether to print details about (first-load) transformers. */%0A%09public static boolean DEBUG_LOADING_TRANSFORMER = false;%0A%09%0A%09/** Whether to print details about retransforming transformers. */%0A%09public static boolean DEBUG_RETRANSFORMING_TRANSFORMER = false;%0A%09%0A%09/** Whether to print info about each class that is being loaded. */%0A%09public static boolean DEBUG_ALL_CLASS_LOADING = false;%0A%09%0A%09/** Stream where to log the debugging messages. */%0A%09public static PrintStream log = System.out;%0A%09%0A%09/** Whether to specifically print details about transformations on%0A%09 * specific classes.%0A%09 * %0A%09 * @see WATCHED_CLASSES%0A%09 */
 %0A%09pu
@@ -1237,18 +1237,20 @@
 se;%0A
+%0A
 %09/
-/
+**
  Slash
- 
+-
 sepa
@@ -1258,71 +1258,475 @@
 ated
-!%0A%09public static Set%3CString%3E WATCHED_CLASSES = new HashSet%3C%3E();
+ set of classes that requires extra watching.%0A%09 * %0A%09 * Use DEBUG_WATCH_CLASS to test whether certain class%0A%09 * shall be watched.%0A%09 */%0A%09public static Set%3CString%3E WATCHED_CLASSES = new HashSet%3C%3E();%0A%09%0A%09/** Whether given class is marked as under detailed watch.%0A%09 * %0A%09 * This function result is condition by DEBUG_WATCH_CLASSES being true.%0A%09 * %0A%09 * @param classname Full class name (slash separated).%0A%09 * @return Whether this class shall be logged in greater detail.%0A%09 */
 %0A%09pu

Add some comments to Settings class