Version 4.0.0: java.awt dependencies move
[nikiroo-utils.git] / src / be / nikiroo / utils / Downloader.java
index 67fd652b306323243365271752eb528f3e6523f2..e01ec1dcc24cb3abccc28bb3618b62edf0ad7a54 100644 (file)
@@ -28,6 +28,7 @@ import java.util.zip.GZIPInputStream;
 public class Downloader {
        private String UA;
        private CookieManager cookies;
+       private TraceHandler tracer = new TraceHandler();
 
        /**
         * Create a new {@link Downloader}.
@@ -46,6 +47,29 @@ public class Downloader {
                CookieHandler.setDefault(cookies);
        }
 
+       /**
+        * The traces handler for this {@link Cache}.
+        * 
+        * @return the traces handler
+        */
+       public TraceHandler getTraceHandler() {
+               return tracer;
+       }
+
+       /**
+        * The traces handler for this {@link Cache}.
+        * 
+        * @param tracer
+        *            the new traces handler
+        */
+       public void setTraceHandler(TraceHandler tracer) {
+               if (tracer == null) {
+                       tracer = new TraceHandler(false, false, false);
+               }
+
+               this.tracer = tracer;
+       }
+
        /**
         * Clear all the cookies currently in the jar.
         * <p>
@@ -74,6 +98,10 @@ public class Downloader {
         * 
         * @param url
         *            the {@link URL} to open
+        * @param currentReferer
+        *            the current referer, for websites that needs this info
+        * @param cookiesValues
+        *            the cookies
         * @param postParams
         *            the POST parameters
         * @param getParams
@@ -93,24 +121,6 @@ public class Downloader {
                                getParams, oauth);
        }
 
-       /**
-        * Trace information (info/error) generated by this class.
-        * <p>
-        * You can override it if you don't want the default sysout/syserr.
-        * 
-        * @param message
-        *            the message
-        * @param error
-        *            TRUE for error messages, FALSE for information messages
-        */
-       protected void trace(String message, boolean error) {
-               if (error) {
-                       System.err.println(message);
-               } else {
-                       System.out.println(message);
-               }
-       }
-
        /**
         * Open the given {@link URL} and update the cookies.
         * 
@@ -134,7 +144,7 @@ public class Downloader {
                        Map<String, String> postParams, Map<String, String> getParams,
                        String oauth) throws IOException {
 
-               trace("Download: " + url, false);
+               tracer.trace("Download: " + url);
 
                URLConnection conn = openConnectionWithCookies(url, currentReferer,
                                cookiesValues);