View Javadoc
1   package org.jastacry;
2   
3   import java.util.concurrent.ThreadFactory;
4   
5   import org.apache.logging.log4j.LogManager;
6   import org.apache.logging.log4j.Logger;
7   
8   /**
9    * Thread factory for better thread naming.
10   *
11   * <p>SPDX-License-Identifier: MIT
12   * @author Kai Kretschmann
13   *
14   */
15  public class LayerThreadFactory implements ThreadFactory
16  {
17  
18      /**
19       * log4j logger object.
20       */
21      private static final Logger LOGGER = LogManager.getLogger();
22  
23      /**
24       * Default thread name prefix.
25       */
26      private static final String PFX = "layer-";
27  
28      /**
29       * No suffix needed.
30       */
31      private String suffix = "";
32  
33      @Override
34      public final Thread newThread(final Runnable r)
35      {
36          LOGGER.traceEntry();
37          final Thread thread = new Thread(r, PFX + suffix);
38          thread.setDaemon(true);
39          return LOGGER.traceExit(thread);
40      }
41  
42      /**
43       * Set name suffix for thread.
44       *
45       * @param iSuffix Number as suffix.
46       */
47      public final void setNumber(final int iSuffix)
48      {
49          this.suffix = Integer.toString(iSuffix);
50      }
51  
52  }