JAL-3032 adds Java 8 functionality (1/2)
[jalview.git] / srcjar / org / apache / log4j / helpers / FileWatchdog.java
diff --git a/srcjar/org/apache/log4j/helpers/FileWatchdog.java b/srcjar/org/apache/log4j/helpers/FileWatchdog.java
deleted file mode 100644 (file)
index b78a4af..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Contributors:  Mathias Bogaert
-
-package org.apache.log4j.helpers;
-
-import java.io.File;
-
-/**
-   Check every now and then that a certain file has not changed. If it
-   has, then call the {@link #doOnChange} method.
-
-
-   @author Ceki Gülcü
-   @since version 0.9.1 */
-public abstract class FileWatchdog extends Thread {
-
-  /**
-     The default delay between every file modification check, set to 60
-     seconds.  */
-  static final public long DEFAULT_DELAY = 60000; 
-  /**
-     The name of the file to observe  for changes.
-   */
-  protected String filename;
-  
-  /**
-     The delay to observe between every check. By default set {@link
-     #DEFAULT_DELAY}. */
-  protected long delay = DEFAULT_DELAY; 
-  
-  File file;
-  long lastModif = 0; 
-  boolean warnedAlready = false;
-  boolean interrupted = false;
-
-  protected
-  FileWatchdog(String filename) {
-    super("FileWatchdog");
-    this.filename = filename;
-    file = new File(filename);
-    setDaemon(true);
-    checkAndConfigure();
-  }
-
-  /**
-     Set the delay to observe between each check of the file changes.
-   */
-  public
-  void setDelay(long delay) {
-    this.delay = delay;
-  }
-
-  abstract 
-  protected 
-  void doOnChange();
-
-  protected
-  void checkAndConfigure() {
-    boolean fileExists;
-    try {
-      fileExists = file.exists();
-    } catch(SecurityException  e) {
-      LogLog.warn("Was not allowed to read check file existance, file:["+
-                 filename+"].");
-      interrupted = true; // there is no point in continuing
-      return;
-    }
-
-    if(fileExists) {
-      long l = file.lastModified(); // this can also throw a SecurityException
-      if(l > lastModif) {           // however, if we reached this point this
-       lastModif = l;              // is very unlikely.
-       doOnChange();
-       warnedAlready = false;
-      }
-    } else {
-      if(!warnedAlready) {
-       LogLog.debug("["+filename+"] does not exist.");
-       warnedAlready = true;
-      }
-    }
-  }
-
-  public
-  void run() {    
-    while(!interrupted) {
-      try {
-           Thread.sleep(delay);
-      } catch(InterruptedException e) {
-       // no interruption expected
-      }
-      checkAndConfigure();
-    }
-  }
-}