فهرست منبع

jme3-core: finalize private fields

Stephen Gold 4 سال پیش
والد
کامیت
bc93c450b7
80فایلهای تغییر یافته به همراه271 افزوده شده و 271 حذف شده
  1. 1 1
      jme3-core/src/main/java/com/jme3/anim/ArmatureMask.java
  2. 2 2
      jme3-core/src/main/java/com/jme3/anim/MatrixJointModelTransform.java
  3. 4 4
      jme3-core/src/main/java/com/jme3/anim/MorphControl.java
  4. 1 1
      jme3-core/src/main/java/com/jme3/anim/SeparateJointModelTransform.java
  5. 3 3
      jme3-core/src/main/java/com/jme3/anim/Weights.java
  6. 5 5
      jme3-core/src/main/java/com/jme3/anim/interpolator/AnimInterpolators.java
  7. 6 6
      jme3-core/src/main/java/com/jme3/anim/interpolator/FrameInterpolator.java
  8. 1 1
      jme3-core/src/main/java/com/jme3/anim/tween/action/BaseAction.java
  9. 3 3
      jme3-core/src/main/java/com/jme3/anim/tween/action/BlendAction.java
  10. 2 2
      jme3-core/src/main/java/com/jme3/anim/tween/action/LinearBlendSpace.java
  11. 2 2
      jme3-core/src/main/java/com/jme3/anim/util/AnimMigrationUtils.java
  12. 2 2
      jme3-core/src/main/java/com/jme3/animation/EffectTrack.java
  13. 2 2
      jme3-core/src/main/java/com/jme3/app/DebugKeysAppState.java
  14. 5 5
      jme3-core/src/main/java/com/jme3/app/DetailedProfiler.java
  15. 9 9
      jme3-core/src/main/java/com/jme3/app/DetailedProfilerState.java
  16. 1 1
      jme3-core/src/main/java/com/jme3/app/SimpleApplication.java
  17. 4 4
      jme3-core/src/main/java/com/jme3/app/StatsView.java
  18. 1 1
      jme3-core/src/main/java/com/jme3/app/state/ConstantVerifierState.java
  19. 3 3
      jme3-core/src/main/java/com/jme3/asset/DesktopAssetManager.java
  20. 2 2
      jme3-core/src/main/java/com/jme3/audio/AudioContext.java
  21. 2 2
      jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java
  22. 2 2
      jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java
  23. 5 5
      jme3-core/src/main/java/com/jme3/collision/SweepSphere.java
  24. 2 2
      jme3-core/src/main/java/com/jme3/font/BitmapCharacterSet.java
  25. 2 2
      jme3-core/src/main/java/com/jme3/font/ColorTags.java
  26. 1 1
      jme3-core/src/main/java/com/jme3/font/LetterQuad.java
  27. 3 3
      jme3-core/src/main/java/com/jme3/font/Letters.java
  28. 7 7
      jme3-core/src/main/java/com/jme3/input/AbstractJoystick.java
  29. 8 8
      jme3-core/src/main/java/com/jme3/input/DefaultJoystickAxis.java
  30. 6 6
      jme3-core/src/main/java/com/jme3/input/DefaultJoystickButton.java
  31. 2 2
      jme3-core/src/main/java/com/jme3/input/FlyByCamera.java
  32. 5 5
      jme3-core/src/main/java/com/jme3/input/JoystickCompatibilityMappings.java
  33. 3 3
      jme3-core/src/main/java/com/jme3/input/event/JoyAxisEvent.java
  34. 3 3
      jme3-core/src/main/java/com/jme3/input/event/JoyButtonEvent.java
  35. 5 5
      jme3-core/src/main/java/com/jme3/input/event/KeyInputEvent.java
  36. 5 5
      jme3-core/src/main/java/com/jme3/input/event/MouseButtonEvent.java
  37. 2 2
      jme3-core/src/main/java/com/jme3/input/event/MouseMotionEvent.java
  38. 2 2
      jme3-core/src/main/java/com/jme3/light/Light.java
  39. 1 1
      jme3-core/src/main/java/com/jme3/light/SphereProbeArea.java
  40. 1 1
      jme3-core/src/main/java/com/jme3/material/Material.java
  41. 1 1
      jme3-core/src/main/java/com/jme3/material/logic/SinglePassAndImageBasedLightingLogic.java
  42. 3 3
      jme3-core/src/main/java/com/jme3/math/Easing.java
  43. 4 4
      jme3-core/src/main/java/com/jme3/opencl/OpenCLObjectManager.java
  44. 2 2
      jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java
  45. 2 2
      jme3-core/src/main/java/com/jme3/post/HDRRenderer.java
  46. 4 4
      jme3-core/src/main/java/com/jme3/post/PreDepthProcessor.java
  47. 2 2
      jme3-core/src/main/java/com/jme3/renderer/queue/GeometryList.java
  48. 2 2
      jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java
  49. 3 3
      jme3-core/src/main/java/com/jme3/scene/debug/Arrow.java
  50. 3 3
      jme3-core/src/main/java/com/jme3/scene/debug/SkeletonInterBoneWire.java
  51. 1 1
      jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureDebugAppState.java
  52. 2 2
      jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureInterJointsWire.java
  53. 6 6
      jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureNode.java
  54. 2 2
      jme3-core/src/main/java/com/jme3/scene/mesh/IndexIntBuffer.java
  55. 1 1
      jme3-core/src/main/java/com/jme3/scene/mesh/MorphTarget.java
  56. 6 6
      jme3-core/src/main/java/com/jme3/scene/shape/Surface.java
  57. 2 2
      jme3-core/src/main/java/com/jme3/shader/ShaderGenerator.java
  58. 23 23
      jme3-core/src/main/java/com/jme3/shader/UniformBindingManager.java
  59. 2 2
      jme3-core/src/main/java/com/jme3/shader/VarType.java
  60. 10 10
      jme3-core/src/main/java/com/jme3/shadow/BasicShadowRenderer.java
  61. 2 2
      jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java
  62. 2 2
      jme3-core/src/main/java/com/jme3/util/BufferUtils.java
  63. 5 5
      jme3-core/src/main/java/com/jme3/util/JmeFormatter.java
  64. 3 3
      jme3-core/src/main/java/com/jme3/util/MaterialDebugAppState.java
  65. 5 5
      jme3-core/src/main/java/com/jme3/util/NativeObjectManager.java
  66. 3 3
      jme3-core/src/main/java/com/jme3/util/SafeArrayList.java
  67. 2 2
      jme3-core/src/main/java/com/jme3/util/blockparser/BlockLanguageParser.java
  68. 4 4
      jme3-core/src/main/java/com/jme3/util/clone/Cloner.java
  69. 2 2
      jme3-core/src/plugins/java/com/jme3/asset/plugins/FileLocator.java
  70. 2 2
      jme3-core/src/plugins/java/com/jme3/asset/plugins/UrlAssetInfo.java
  71. 2 2
      jme3-core/src/plugins/java/com/jme3/audio/plugins/WAVLoader.java
  72. 3 3
      jme3-core/src/plugins/java/com/jme3/export/binary/BinaryExporter.java
  73. 5 5
      jme3-core/src/plugins/java/com/jme3/export/binary/BinaryImporter.java
  74. 4 4
      jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java
  75. 3 3
      jme3-core/src/plugins/java/com/jme3/scene/plugins/OBJLoader.java
  76. 2 2
      jme3-core/src/plugins/java/com/jme3/shader/plugins/GLSLLoader.java
  77. 3 3
      jme3-core/src/test/java/com/jme3/renderer/OpaqueComparatorTest.java
  78. 3 3
      jme3-core/src/tools/java/jme3tools/optimize/LodGenerator.java
  79. 8 8
      jme3-core/src/tools/java/jme3tools/optimize/TextureAtlas.java
  80. 1 1
      jme3-core/src/tools/java/jme3tools/shadercheck/ShaderCheck.java

+ 1 - 1
jme3-core/src/main/java/com/jme3/anim/ArmatureMask.java

@@ -4,7 +4,7 @@ import java.util.BitSet;
 
 public class ArmatureMask implements AnimationMask {
 
-    private BitSet affectedJoints = new BitSet();
+    final private BitSet affectedJoints = new BitSet();
 
     @Override
     public boolean contains(Object target) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/anim/MatrixJointModelTransform.java

@@ -10,8 +10,8 @@ import com.jme3.math.Transform;
  */
 public class MatrixJointModelTransform implements JointModelTransform {
 
-    private Matrix4f modelTransformMatrix = new Matrix4f();
-    private Transform modelTransform = new Transform();
+    final private Matrix4f modelTransformMatrix = new Matrix4f();
+    final private Transform modelTransform = new Transform();
 
     @Override
     public void updateModelTransform(Transform localTransform, Joint parent) {

+ 4 - 4
jme3-core/src/main/java/com/jme3/anim/MorphControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,11 +59,11 @@ public class MorphControl extends AbstractControl implements Savable {
     private static final int MAX_MORPH_BUFFERS = 14;
     private final static float MIN_WEIGHT = 0.005f;
 
-    private SafeArrayList<Geometry> targets = new SafeArrayList<>(Geometry.class);
-    private TargetLocator targetLocator = new TargetLocator();
+    final private SafeArrayList<Geometry> targets = new SafeArrayList<>(Geometry.class);
+    final private TargetLocator targetLocator = new TargetLocator();
 
     private boolean approximateTangents = true;
-    private MatParamOverride nullNumberOfBones = new MatParamOverride(VarType.Int, "NumberOfBones", null);
+    final private MatParamOverride nullNumberOfBones = new MatParamOverride(VarType.Int, "NumberOfBones", null);
 
     private float[] tmpPosArray;
     private float[] tmpNormArray;

+ 1 - 1
jme3-core/src/main/java/com/jme3/anim/SeparateJointModelTransform.java

@@ -13,7 +13,7 @@ import com.jme3.math.Transform;
  */
 public class SeparateJointModelTransform implements JointModelTransform {
 
-    private Transform modelTransform = new Transform();
+    final private Transform modelTransform = new Transform();
 
     @Override
     public void updateModelTransform(Transform localTransform, Joint parent) {

+ 3 - 3
jme3-core/src/main/java/com/jme3/anim/Weights.java

@@ -7,9 +7,9 @@ public class Weights {//}  extends Savable, JmeCloneable{
 
     private final static float MIN_WEIGHT = 0.005f;
 
-    private int[] indices;
-    private float[] data;
-    private int size;
+    final private int[] indices;
+    final private float[] data;
+    final private int size;
 
     public Weights(float[] array, int start, int length) {
         ArrayList<Float> list = new ArrayList<>();

+ 5 - 5
jme3-core/src/main/java/com/jme3/anim/interpolator/AnimInterpolators.java

@@ -106,10 +106,10 @@ public class AnimInterpolators {
     public static final CatmullRomInterpolator CatmullRom = new CatmullRomInterpolator();
 
     public static class CatmullRomInterpolator extends AnimInterpolator<Vector3f> {
-        private Vector3f p0 = new Vector3f();
-        private Vector3f p1 = new Vector3f();
-        private Vector3f p2 = new Vector3f();
-        private Vector3f p3 = new Vector3f();
+        final private Vector3f p0 = new Vector3f();
+        final private Vector3f p1 = new Vector3f();
+        final private Vector3f p2 = new Vector3f();
+        final private Vector3f p3 = new Vector3f();
         private float tension = 0.7f;
 
         public CatmullRomInterpolator(float tension) {
@@ -134,7 +134,7 @@ public class AnimInterpolators {
     //Time Interpolators
 
     public static class TimeInterpolator extends AnimInterpolator<Float> {
-        private EaseFunction ease;
+        final private EaseFunction ease;
 
         public TimeInterpolator(EaseFunction ease) {
             this.ease = ease;

+ 6 - 6
jme3-core/src/main/java/com/jme3/anim/interpolator/FrameInterpolator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,13 +46,13 @@ public class FrameInterpolator {
     private AnimInterpolator<Quaternion> rotationInterpolator = AnimInterpolators.NLerp;
     private AnimInterpolator<Vector3f> scaleInterpolator = AnimInterpolators.LinearVec3f;
 
-    private TrackDataReader<Vector3f> translationReader = new TrackDataReader<>();
-    private TrackDataReader<Quaternion> rotationReader = new TrackDataReader<>();
-    private TrackDataReader<Vector3f> scaleReader = new TrackDataReader<>();
-    private TrackTimeReader timesReader = new TrackTimeReader();
+    final private TrackDataReader<Vector3f> translationReader = new TrackDataReader<>();
+    final private TrackDataReader<Quaternion> rotationReader = new TrackDataReader<>();
+    final private TrackDataReader<Vector3f> scaleReader = new TrackDataReader<>();
+    final private TrackTimeReader timesReader = new TrackTimeReader();
 
 
-    private Transform transforms = new Transform();
+    final private Transform transforms = new Transform();
 
     public Transform interpolate(float t, int currentIndex, CompactVector3Array translations, CompactQuaternionArray rotations, CompactVector3Array scales, float[] times){
         timesReader.setData(times);

+ 1 - 1
jme3-core/src/main/java/com/jme3/anim/tween/action/BaseAction.java

@@ -8,7 +8,7 @@ import java.util.List;
 
 public class BaseAction extends Action {
 
-    private Tween tween;
+    final private Tween tween;
 
     public BaseAction(Tween tween) {
         this.tween = tween;

+ 3 - 3
jme3-core/src/main/java/com/jme3/anim/tween/action/BlendAction.java

@@ -11,10 +11,10 @@ public class BlendAction extends BlendableAction {
 
     private int firstActiveIndex;
     private int secondActiveIndex;
-    private BlendSpace blendSpace;
+    final private BlendSpace blendSpace;
     private float blendWeight;
-    private double[] timeFactor;
-    private Map<HasLocalTransform, Transform> targetMap = new HashMap<>();
+    final private double[] timeFactor;
+    final private Map<HasLocalTransform, Transform> targetMap = new HashMap<>();
 
     public BlendAction(BlendSpace blendSpace, BlendableAction... actions) {
         super(actions);

+ 2 - 2
jme3-core/src/main/java/com/jme3/anim/tween/action/LinearBlendSpace.java

@@ -4,8 +4,8 @@ public class LinearBlendSpace implements BlendSpace {
 
     private BlendAction action;
     private float value;
-    private float maxValue;
-    private float minValue;
+    final private float maxValue;
+    final private float minValue;
     private float step;
 
     public LinearBlendSpace(float minValue, float maxValue) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/anim/util/AnimMigrationUtils.java

@@ -10,8 +10,8 @@ import java.util.*;
 
 public class AnimMigrationUtils {
 
-    private static AnimControlVisitor animControlVisitor = new AnimControlVisitor();
-    private static SkeletonControlVisitor skeletonControlVisitor = new SkeletonControlVisitor();
+    final private static AnimControlVisitor animControlVisitor = new AnimControlVisitor();
+    final private static SkeletonControlVisitor skeletonControlVisitor = new SkeletonControlVisitor();
 
 
     public static Spatial migrate(Spatial source) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/animation/EffectTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,7 +75,7 @@ public class EffectTrack implements ClonableTrack {
     private boolean emitted = false;
     private boolean initialized = false;
     //control responsible for disable and cull the emitter once all particles are gone
-    private KillParticleControl killParticles = new KillParticleControl();
+    final private KillParticleControl killParticles = new KillParticleControl();
 
     public static class KillParticleControl extends AbstractControl {
 

+ 2 - 2
jme3-core/src/main/java/com/jme3/app/DebugKeysAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,7 @@ public class DebugKeysAppState extends AbstractAppState {
     public static final String INPUT_MAPPING_MEMORY = "SIMPLEAPP_Memory";
     
     private Application app;
-    private DebugKeyListener keyListener = new DebugKeyListener();
+    final private DebugKeyListener keyListener = new DebugKeyListener();
     private InputManager inputManager;
 
     public DebugKeysAppState() {

+ 5 - 5
jme3-core/src/main/java/com/jme3/app/DetailedProfiler.java

@@ -59,10 +59,10 @@ public class DetailedProfiler implements AppProfiler {
     private String curSpPath = null;
     private VpStep lastVpStep = null;
 
-    private StringBuilder path = new StringBuilder(256);
-    private StringBuilder vpPath = new StringBuilder(256);
+    final private StringBuilder path = new StringBuilder(256);
+    final private StringBuilder vpPath = new StringBuilder(256);
 
-    private Deque<Integer> idsPool = new ArrayDeque<>(100);
+    final private Deque<Integer> idsPool = new ArrayDeque<>(100);
 
     StatLine frameTime;
 
@@ -256,8 +256,8 @@ public class DetailedProfiler implements AppProfiler {
     }
 
     public static class StatLine {
-        private long[] cpuTimes = new long[MAX_FRAMES];
-        private long[] gpuTimes = new long[MAX_FRAMES];
+        final private long[] cpuTimes = new long[MAX_FRAMES];
+        final private long[] gpuTimes = new long[MAX_FRAMES];
         private int startCursor = 0;
         private int cpuCursor = 0;
         private int gpuCursor = 0;

+ 9 - 9
jme3-core/src/main/java/com/jme3/app/DetailedProfilerState.java

@@ -60,13 +60,13 @@ public class DetailedProfilerState extends BaseAppState {
     private static final String TOGGLE_KEY = "Toggle_Detailed_Profiler";
     private static final String CLICK_KEY = "Click_Detailed_Profiler";
     private static final String INSIGNIFICANT = "Hide insignificant stat";
-    private DetailedProfiler prof = new DetailedProfiler();
+    final private DetailedProfiler prof = new DetailedProfiler();
 
     private float time = 0;
     private BitmapFont font;
     private BitmapFont bigFont;
-    private Node ui = new Node("Stats ui");
-    private Map<String, StatLineView> lines = new HashMap<>();
+    final private Node ui = new Node("Stats ui");
+    final private Map<String, StatLineView> lines = new HashMap<>();
     private double totalTimeCpu;
     private double totalTimeGpu;
     private int maxLevel = 0;
@@ -83,14 +83,14 @@ public class DetailedProfilerState extends BaseAppState {
 
     private StatLineView rootLine;
     private int height = 0;
-    private DecimalFormat df = new DecimalFormat("##0.00", new DecimalFormatSymbols(Locale.US));
+    final private DecimalFormat df = new DecimalFormat("##0.00", new DecimalFormatSymbols(Locale.US));
 
-    private ColorRGBA dimmedWhite = ColorRGBA.White.mult(0.7f);
-    private ColorRGBA dimmedGreen = ColorRGBA.Green.mult(0.7f);
-    private ColorRGBA dimmedOrange = ColorRGBA.Orange.mult(0.7f);
-    private ColorRGBA dimmedRed = ColorRGBA.Red.mult(0.7f);
+    final private ColorRGBA dimmedWhite = ColorRGBA.White.mult(0.7f);
+    final private ColorRGBA dimmedGreen = ColorRGBA.Green.mult(0.7f);
+    final private ColorRGBA dimmedOrange = ColorRGBA.Orange.mult(0.7f);
+    final private ColorRGBA dimmedRed = ColorRGBA.Red.mult(0.7f);
 
-    private ProfilerInputListener inputListener = new ProfilerInputListener();
+    final private ProfilerInputListener inputListener = new ProfilerInputListener();
 
     public DetailedProfilerState() {
 

+ 1 - 1
jme3-core/src/main/java/com/jme3/app/SimpleApplication.java

@@ -76,7 +76,7 @@ public abstract class SimpleApplication extends LegacyApplication {
     protected BitmapFont guiFont;
     protected FlyByCamera flyCam;
     protected boolean showSettings = true;
-    private AppActionListener actionListener = new AppActionListener();
+    final private AppActionListener actionListener = new AppActionListener();
 
     private class AppActionListener implements ActionListener {
 

+ 4 - 4
jme3-core/src/main/java/com/jme3/app/StatsView.java

@@ -61,11 +61,11 @@ import com.jme3.util.clone.JmeCloneable;
  */
 public class StatsView extends Node implements Control, JmeCloneable {
 
-    private BitmapText statText;
-    private Statistics statistics;
+    final private BitmapText statText;
+    final private Statistics statistics;
 
-    private String[] statLabels;
-    private int[] statData;
+    final private String[] statLabels;
+    final private int[] statData;
 
     private boolean enabled = true;
 

+ 1 - 1
jme3-core/src/main/java/com/jme3/app/state/ConstantVerifierState.java

@@ -88,7 +88,7 @@ public class ConstantVerifierState extends BaseAppState {
 
     public enum ErrorType { Assert, Exception, Log };
 
-    private SafeArrayList<Checker> checkers = new SafeArrayList<>(Checker.class);
+    final private SafeArrayList<Checker> checkers = new SafeArrayList<>(Checker.class);
     private ErrorType errorType;
 
     /**

+ 3 - 3
jme3-core/src/main/java/com/jme3/asset/DesktopAssetManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,10 +70,10 @@ public class DesktopAssetManager implements AssetManager {
     
     private final ImplHandler handler = new ImplHandler(this);
 
-    private CopyOnWriteArrayList<AssetEventListener> eventListeners = 
+    final private CopyOnWriteArrayList<AssetEventListener> eventListeners = 
             new CopyOnWriteArrayList<AssetEventListener>();
     
-    private List<ClassLoader> classLoaders =
+    final private List<ClassLoader> classLoaders =
             Collections.synchronizedList(new ArrayList<ClassLoader>());
 
     public DesktopAssetManager(){

+ 2 - 2
jme3-core/src/main/java/com/jme3/audio/AudioContext.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,7 @@ package com.jme3.audio;
  */
 public class AudioContext {
 
-    private static ThreadLocal<AudioRenderer> audioRenderer = new ThreadLocal<AudioRenderer>();
+    final private static ThreadLocal<AudioRenderer> audioRenderer = new ThreadLocal<AudioRenderer>();
  
     public static void setAudioRenderer( AudioRenderer ar ) {
         audioRenderer.set(ar);       

+ 2 - 2
jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -93,7 +93,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
     private Node scene;
     protected TimeLine timeLine = new TimeLine();
     private int lastFetchedKeyFrame = -1;
-    private List<CinematicEvent> cinematicEvents = new ArrayList<>();
+    final private List<CinematicEvent> cinematicEvents = new ArrayList<>();
     private Map<String, CameraNode> cameras = new HashMap<>();
     private CameraNode currentCam;
     private boolean initialized = false;

+ 2 - 2
jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +70,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
     protected Direction directionType = Direction.None;
     protected MotionPath path;
     private boolean isControl = true;
-    private int travelDirection = 1;
+    final private int travelDirection = 1;
     /**
      * the distance traveled by the spatial on the path
      */

+ 5 - 5
jme3-core/src/main/java/com/jme3/collision/SweepSphere.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,10 +41,10 @@ import com.jme3.math.*;
 @Deprecated
 class SweepSphere implements Collidable {
 
-    private Vector3f velocity = new Vector3f();
-    private Vector3f center = new Vector3f();
-    private Vector3f dimension = new Vector3f();
-    private Vector3f invDim = new Vector3f();
+    final private Vector3f velocity = new Vector3f();
+    final private Vector3f center = new Vector3f();
+    final private Vector3f dimension = new Vector3f();
+    final private Vector3f invDim = new Vector3f();
 
     private final Triangle scaledTri = new Triangle();
     private final Plane triPlane = new Plane();

+ 2 - 2
jme3-core/src/main/java/com/jme3/font/BitmapCharacterSet.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@ public class BitmapCharacterSet implements Savable {
     private int renderedSize;
     private int width;
     private int height;
-    private IntMap<IntMap<BitmapCharacter>> characters;
+    final private IntMap<IntMap<BitmapCharacter>> characters;
     private int pageSize;
 
     @Override

+ 2 - 2
jme3-core/src/main/java/com/jme3/font/ColorTags.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +47,7 @@ import java.util.regex.Pattern;
 class ColorTags {
     private static final Pattern colorPattern = Pattern.compile("\\\\#([0-9a-fA-F]{8})#|\\\\#([0-9a-fA-F]{6})#|" +
                                                                 "\\\\#([0-9a-fA-F]{4})#|\\\\#([0-9a-fA-F]{3})#");
-    private LinkedList<Range> colors = new LinkedList<Range>();
+    final private LinkedList<Range> colors = new LinkedList<Range>();
     private String text;
     private String original;
     private float baseAlpha = -1;

+ 1 - 1
jme3-core/src/main/java/com/jme3/font/LetterQuad.java

@@ -66,7 +66,7 @@ class LetterQuad {
     private LetterQuad next;
     private int colorInt = 0xFFFFFFFF;
 
-    private boolean rightToLeft;
+    final private boolean rightToLeft;
     private float alignX;
     private float alignY;
     private float sizeScale = 1;

+ 3 - 3
jme3-core/src/main/java/com/jme3/font/Letters.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,10 +47,10 @@ class Letters {
     private final LetterQuad tail;
     private final BitmapFont font;
     private LetterQuad current;
-    private StringBlock block;
+    final private StringBlock block;
     private float totalWidth;
     private float totalHeight;
-    private ColorTags colorTags = new ColorTags();
+    final private ColorTags colorTags = new ColorTags();
     private ColorRGBA baseColor = null;
     private float baseAlpha = -1;
     private String plainText;

+ 7 - 7
jme3-core/src/main/java/com/jme3/input/AbstractJoystick.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,13 +42,13 @@ import java.util.*;
  */
 public abstract class AbstractJoystick implements Joystick {
 
-    private InputManager inputManager;
-    private JoyInput joyInput;
-    private int joyId;
-    private String name;
+    final private InputManager inputManager;
+    final private JoyInput joyInput;
+    final private int joyId;
+    final private String name;
     
-    private List<JoystickAxis> axes = new ArrayList<JoystickAxis>();       
-    private List<JoystickButton> buttons = new ArrayList<JoystickButton>();       
+    final private List<JoystickAxis> axes = new ArrayList<JoystickAxis>();       
+    final private List<JoystickButton> buttons = new ArrayList<JoystickButton>();       
 
     /**
      * Creates a new joystick instance. Only used internally.

+ 8 - 8
jme3-core/src/main/java/com/jme3/input/DefaultJoystickAxis.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,13 +40,13 @@ import com.jme3.input.controls.JoyAxisTrigger;
  */
 public class DefaultJoystickAxis implements JoystickAxis {
 
-    private InputManager inputManager;
-    private Joystick parent;
-    private int axisIndex;
-    private String name;
-    private String logicalId;
-    private boolean isAnalog;
-    private boolean isRelative;
+    final private InputManager inputManager;
+    final private Joystick parent;
+    final private int axisIndex;
+    final private String name;
+    final private String logicalId;
+    final private boolean isAnalog;
+    final private boolean isRelative;
     private float deadZone;
 
     /**

+ 6 - 6
jme3-core/src/main/java/com/jme3/input/DefaultJoystickButton.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,11 +40,11 @@ import com.jme3.input.controls.JoyButtonTrigger;
  */
 public class DefaultJoystickButton implements JoystickButton {
     
-    private InputManager inputManager;
-    private Joystick parent;
-    private int buttonIndex;
-    private String name;
-    private String logicalId;
+    final private InputManager inputManager;
+    final private Joystick parent;
+    final private int buttonIndex;
+    final private String name;
+    final private String logicalId;
 
     public DefaultJoystickButton( InputManager inputManager, Joystick parent, int buttonIndex,
                                   String name, String logicalId ) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/input/FlyByCamera.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2017 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +57,7 @@ import com.jme3.renderer.Camera;
  */
 public class FlyByCamera implements AnalogListener, ActionListener {
 
-    private static String[] mappings = new String[]{
+    final private static String[] mappings = new String[]{
         CameraInput.FLYCAM_LEFT,
         CameraInput.FLYCAM_RIGHT,
         CameraInput.FLYCAM_UP,

+ 5 - 5
jme3-core/src/main/java/com/jme3/input/JoystickCompatibilityMappings.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,13 +61,13 @@ public class JoystickCompatibilityMappings {
 
     // List of resource paths to check for the joystick-mapping.properties
     // files.
-    private static String[] searchPaths = { "joystick-mapping.properties" };  
+    final private static String[] searchPaths = { "joystick-mapping.properties" };  
 
-    private static Map<String,Map<String,String>> joystickMappings = new HashMap<String,Map<String,String>>();
+    final private static Map<String,Map<String,String>> joystickMappings = new HashMap<String,Map<String,String>>();
 
     // Remaps names by regex.
-    private static Map<Pattern, String> nameRemappings = new HashMap<>();
-    private static Map<String, String> nameCache = new HashMap<>();
+    final private static Map<Pattern, String> nameRemappings = new HashMap<>();
+    final private static Map<String, String> nameCache = new HashMap<>();
 
     static {
         loadDefaultMappings();

+ 3 - 3
jme3-core/src/main/java/com/jme3/input/event/JoyAxisEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +41,8 @@ import com.jme3.input.JoystickAxis;
  */
 public class JoyAxisEvent extends InputEvent {
 
-    private JoystickAxis axis;
-    private float value;
+    final private JoystickAxis axis;
+    final private float value;
 
     public JoyAxisEvent(JoystickAxis axis, float value) {
         this.axis = axis;

+ 3 - 3
jme3-core/src/main/java/com/jme3/input/event/JoyButtonEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +41,8 @@ import com.jme3.input.JoystickButton;
  */
 public class JoyButtonEvent extends InputEvent {
 
-    private JoystickButton button;
-    private boolean pressed;
+    final private JoystickButton button;
+    final private boolean pressed;
 
     public JoyButtonEvent(JoystickButton button, boolean pressed) {
         this.button = button;

+ 5 - 5
jme3-core/src/main/java/com/jme3/input/event/KeyInputEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,10 +40,10 @@ import com.jme3.input.KeyInput;
  */
 public class KeyInputEvent extends InputEvent {
 
-    private int keyCode;
-    private char keyChar;
-    private boolean pressed;
-    private boolean repeating;
+    final private int keyCode;
+    final private char keyChar;
+    final private boolean pressed;
+    final private boolean repeating;
 
     public KeyInputEvent(int keyCode, char keyChar, boolean pressed, boolean repeating) {
         this.keyCode = keyCode;

+ 5 - 5
jme3-core/src/main/java/com/jme3/input/event/MouseButtonEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,10 +40,10 @@ import com.jme3.input.MouseInput;
  */
 public class MouseButtonEvent extends InputEvent {
 
-    private int x;
-    private int y;
-    private int btnIndex;
-    private boolean pressed;
+    final private int x;
+    final private int y;
+    final private int btnIndex;
+    final private boolean pressed;
 
     public MouseButtonEvent(int btnIndex, boolean pressed, int x, int y) {
         this.btnIndex = btnIndex;

+ 2 - 2
jme3-core/src/main/java/com/jme3/input/event/MouseMotionEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,7 @@ package com.jme3.input.event;
  */
 public class MouseMotionEvent extends InputEvent {
 
-    private int x, y, dx, dy, wheel, deltaWheel;
+    final private int x, y, dx, dy, wheel, deltaWheel;
 
     public MouseMotionEvent(int x, int y, int dx, int dy, int wheel, int deltaWheel) {
         this.x = x;

+ 2 - 2
jme3-core/src/main/java/com/jme3/light/Light.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -87,7 +87,7 @@ public abstract class Light implements Savable, Cloneable {
         Probe(4);
                 
 
-        private int typeId;
+        final private int typeId;
 
         Type(int type){
             this.typeId = type;

+ 1 - 1
jme3-core/src/main/java/com/jme3/light/SphereProbeArea.java

@@ -13,7 +13,7 @@ public class SphereProbeArea implements ProbeArea {
 
     private Vector3f center = new Vector3f();
     private float radius = 1;
-    private Matrix4f uniformMatrix = new Matrix4f();
+    final private Matrix4f uniformMatrix = new Matrix4f();
 
     public SphereProbeArea() {
     }

+ 1 - 1
jme3-core/src/main/java/com/jme3/material/Material.java

@@ -81,7 +81,7 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable {
     private Technique technique;
     private HashMap<String, Technique> techniques = new HashMap<String, Technique>();
     private RenderState additionalState = null;
-    private RenderState mergedRenderState = new RenderState();
+    final private RenderState mergedRenderState = new RenderState();
     private boolean transparent = false;
     private boolean receivesShadows = false;
     private int sortingId = -1;

+ 1 - 1
jme3-core/src/main/java/com/jme3/material/logic/SinglePassAndImageBasedLightingLogic.java

@@ -53,7 +53,7 @@ public final class SinglePassAndImageBasedLightingLogic extends DefaultTechnique
 
     private boolean useAmbientLight;
     private final ColorRGBA ambientLightColor = new ColorRGBA(0, 0, 0, 1);
-    private List<LightProbe> lightProbes = new ArrayList<>(3);
+    final private List<LightProbe> lightProbes = new ArrayList<>(3);
 
     static {
         ADDITIVE_LIGHT.setBlendMode(BlendMode.AlphaAdditive);

+ 3 - 3
jme3-core/src/main/java/com/jme3/math/Easing.java

@@ -172,8 +172,8 @@ public class Easing {
      */
     public static class InOut implements EaseFunction {
 
-        private EaseFunction in;
-        private EaseFunction out;
+        final private EaseFunction in;
+        final private EaseFunction out;
 
         /**
          * Instantiate a function that blends 2 pre-existing functions.
@@ -200,7 +200,7 @@ public class Easing {
 
     private static class Invert implements EaseFunction {
 
-        private EaseFunction func;
+        final private EaseFunction func;
 
         public Invert(EaseFunction func) {
             this.func = func;

+ 4 - 4
jme3-core/src/main/java/com/jme3/opencl/OpenCLObjectManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2016 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,12 +53,12 @@ public class OpenCLObjectManager {
         return INSTANCE;
     }
     
-    private ReferenceQueue<Object> refQueue = new ReferenceQueue<Object>();
-    private HashSet<OpenCLObjectRef> activeObjects = new HashSet<OpenCLObjectRef>();
+    final private ReferenceQueue<Object> refQueue = new ReferenceQueue<Object>();
+    final private HashSet<OpenCLObjectRef> activeObjects = new HashSet<OpenCLObjectRef>();
     
     private static class OpenCLObjectRef extends PhantomReference<Object> {
         
-        private OpenCLObject.ObjectReleaser releaser;
+        final private OpenCLObject.ObjectReleaser releaser;
 
         public OpenCLObjectRef(ReferenceQueue<Object> refQueue, OpenCLObject obj){
             super(obj, refQueue);

+ 2 - 2
jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -85,7 +85,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
     private AppProfiler prof;
 
     private Format fbFormat = Format.RGB111110F;
-    private Format depthFormat = Format.Depth;
+    final private Format depthFormat = Format.Depth;
     
     /**
      * Create a FilterProcessor 

+ 2 - 2
jme3-core/src/main/java/com/jme3/post/HDRRenderer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -97,7 +97,7 @@ public class HDRRenderer implements SceneProcessor {
 
     private MinFilter fbMinFilter = MinFilter.BilinearNoMipMaps;
     private MagFilter fbMagFilter = MagFilter.Bilinear;
-    private AssetManager manager;
+    final private AssetManager manager;
 
     private boolean enabled = true;
 

+ 4 - 4
jme3-core/src/main/java/com/jme3/post/PreDepthProcessor.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,9 +49,9 @@ public class PreDepthProcessor implements SceneProcessor {
 
     private RenderManager rm;
     private ViewPort vp;
-    private AssetManager assetManager;
-    private Material preDepth;
-    private RenderState forcedRS;
+    final private AssetManager assetManager;
+    final private Material preDepth;
+    final private RenderState forcedRS;
     private AppProfiler prof;
 
     public PreDepthProcessor(AssetManager assetManager){

+ 2 - 2
jme3-core/src/main/java/com/jme3/renderer/queue/GeometryList.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,7 @@ public class GeometryList implements Iterable<Geometry>{
     private static final int DEFAULT_SIZE = 32;
 
     private Geometry[] geometries;    
-    private ListSort listSort;
+    final private ListSort listSort;
     private int size;
     private GeometryComparator comparator;
 

+ 2 - 2
jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -71,7 +71,7 @@ public class SimpleBatchNode extends BatchNode {
             batch.geometry.setTransformRefresh();
         }
     }
-    private Matrix4f cachedLocalMat = new Matrix4f();
+    final private Matrix4f cachedLocalMat = new Matrix4f();
 
     @Override
     protected Matrix4f getTransformMatrix(Geometry g){

+ 3 - 3
jme3-core/src/main/java/com/jme3/scene/debug/Arrow.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,8 +47,8 @@ import java.nio.FloatBuffer;
  */
 public class Arrow extends Mesh {
     
-    private Quaternion tempQuat = new Quaternion();
-    private Vector3f tempVec = new Vector3f();
+    final private Quaternion tempQuat = new Quaternion();
+    final private Vector3f tempVec = new Vector3f();
 
     private static final float[] positions = new float[]{
         0, 0, 0,

+ 3 - 3
jme3-core/src/main/java/com/jme3/scene/debug/SkeletonInterBoneWire.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,9 +54,9 @@ public class SkeletonInterBoneWire extends Mesh {
     /** The amount of connections between bones. */
     private int                 connectionsAmount;
     /** The skeleton that will be showed. */
-    private Skeleton            skeleton;
+    final private Skeleton            skeleton;
     /** The map between the bone index and its length. */
-    private Map<Integer, Float> boneLengths;
+    final private Map<Integer, Float> boneLengths;
 
     /**
      * Creates buffers for points. Each line has POINT_AMOUNT of points.

+ 1 - 1
jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureDebugAppState.java

@@ -117,7 +117,7 @@ public class ArmatureDebugAppState extends BaseAppState {
         }
     }
 
-    private ActionListener actionListener = new ActionListener() {
+    final private ActionListener actionListener = new ActionListener() {
         @Override
         public void onAction(String name, boolean isPressed, float tpf) {
             if (name.equals("shoot") && isPressed) {

+ 2 - 2
jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureInterJointsWire.java

@@ -1,7 +1,7 @@
 package com.jme3.scene.debug.custom;
 
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@ import java.nio.FloatBuffer;
  * @author Marcin Roguski (Kaelthas)
  */
 public class ArmatureInterJointsWire extends Mesh {
-    private Vector3f tmp = new Vector3f();
+    final private Vector3f tmp = new Vector3f();
 
 
     public ArmatureInterJointsWire(Vector3f start, Vector3f[] ends) {

+ 6 - 6
jme3-core/src/main/java/com/jme3/scene/debug/custom/ArmatureNode.java

@@ -1,7 +1,7 @@
 package com.jme3.scene.debug.custom;
 
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,15 +54,15 @@ public class ArmatureNode extends Node {
     /**
      * The armature to be displayed.
      */
-    private Armature armature;
+    final private Armature armature;
     /**
      * The map between the bone index and its length.
      */
-    private Map<Joint, Geometry[]> jointToGeoms = new HashMap<>();
-    private Map<Geometry, Joint> geomToJoint = new HashMap<>();
+    final private Map<Joint, Geometry[]> jointToGeoms = new HashMap<>();
+    final private Map<Geometry, Joint> geomToJoint = new HashMap<>();
     private Joint selectedJoint = null;
-    private Vector3f tmp = new Vector3f();
-    private Vector2f tmpv2 = new Vector2f();
+    final private Vector3f tmp = new Vector3f();
+    final private Vector2f tmpv2 = new Vector2f();
     private final static ColorRGBA selectedColor = ColorRGBA.Orange;
     private final static ColorRGBA selectedColorJ = ColorRGBA.Yellow;
     private final static ColorRGBA outlineColor = ColorRGBA.LightGray;

+ 2 - 2
jme3-core/src/main/java/com/jme3/scene/mesh/IndexIntBuffer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@ import com.jme3.scene.VertexBuffer.Format;
  */
 public class IndexIntBuffer extends IndexBuffer {
 
-    private IntBuffer buf;
+    final private IntBuffer buf;
 
     public IndexIntBuffer(IntBuffer buffer) {
         buf = buffer;

+ 1 - 1
jme3-core/src/main/java/com/jme3/scene/mesh/MorphTarget.java

@@ -10,7 +10,7 @@ import java.util.EnumMap;
 import java.util.Map;
 
 public class MorphTarget implements Savable {
-    private EnumMap<VertexBuffer.Type, FloatBuffer> buffers = new EnumMap<>(VertexBuffer.Type.class);
+    final private EnumMap<VertexBuffer.Type, FloatBuffer> buffers = new EnumMap<>(VertexBuffer.Type.class);
     private String name = null;
     
     public MorphTarget() {

+ 6 - 6
jme3-core/src/main/java/com/jme3/scene/shape/Surface.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,12 +53,12 @@ import java.util.Map;
  */
 public class Surface extends Mesh {
     private SplineType           type;                // the type of the surface
-    private List<List<Vector4f>> controlPoints;       // space control points and their weights
-    private List<Float>[]        knots;               // knots of the surface
-    private int                  basisUFunctionDegree; // the degree of basis U function
+    final private List<List<Vector4f>> controlPoints;       // space control points and their weights
+    final private List<Float>[]        knots;               // knots of the surface
+    final private int                  basisUFunctionDegree; // the degree of basis U function
     private int                  basisVFunctionDegree; // the degree of basis V function
-    private int                  uSegments;           // the amount of U segments
-    private int                  vSegments;           // the amount of V segments
+    final private int                  uSegments;           // the amount of U segments
+    final private int                  vSegments;           // the amount of V segments
 
     /**
      * Constructor. Constructs required surface.

+ 2 - 2
jme3-core/src/main/java/com/jme3/shader/ShaderGenerator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -72,7 +72,7 @@ public abstract class ShaderGenerator {
      */
     Pattern extensions = Pattern.compile("(#extension.*\\s+)");
 
-    private Map<String, String> imports = new LinkedHashMap<>();
+    final private Map<String, String> imports = new LinkedHashMap<>();
 
     /**
      * Build a shaderGenerator

+ 23 - 23
jme3-core/src/main/java/com/jme3/shader/UniformBindingManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,31 +55,31 @@ public class UniformBindingManager {
     private float near, far;
     private Float time, tpf;
     private int viewX, viewY, viewWidth, viewHeight;
-    private Vector3f camUp = new Vector3f(),
+    final private Vector3f camUp = new Vector3f(),
             camLeft = new Vector3f(),
             camDir = new Vector3f(),
             camLoc = new Vector3f();
-    private Matrix4f tempMatrix = new Matrix4f();
-    private Matrix4f viewMatrix = new Matrix4f();
-    private Matrix4f projMatrix = new Matrix4f();
-    private Matrix4f viewProjMatrix = new Matrix4f();
-    private Matrix4f worldMatrix = new Matrix4f();
-    private Matrix4f worldViewMatrix = new Matrix4f();
-    private Matrix4f worldViewProjMatrix = new Matrix4f();
-    private Matrix3f normalMatrix = new Matrix3f();
-    private Matrix3f worldNormalMatrix = new Matrix3f();
-    private Matrix4f worldMatrixInv = new Matrix4f();
-    private Matrix3f worldMatrixInvTrsp = new Matrix3f();
-    private Matrix4f viewMatrixInv = new Matrix4f();
-    private Matrix4f projMatrixInv = new Matrix4f();
-    private Matrix4f viewProjMatrixInv = new Matrix4f();
-    private Matrix4f worldViewMatrixInv = new Matrix4f();
-    private Matrix3f normalMatrixInv = new Matrix3f();
-    private Matrix4f worldViewProjMatrixInv = new Matrix4f();
-    private Vector4f viewPort = new Vector4f();
-    private Vector2f resolution = new Vector2f();
-    private Vector2f resolutionInv = new Vector2f();
-    private Vector2f nearFar = new Vector2f();
+    final private Matrix4f tempMatrix = new Matrix4f();
+    final private Matrix4f viewMatrix = new Matrix4f();
+    final private Matrix4f projMatrix = new Matrix4f();
+    final private Matrix4f viewProjMatrix = new Matrix4f();
+    final private Matrix4f worldMatrix = new Matrix4f();
+    final private Matrix4f worldViewMatrix = new Matrix4f();
+    final private Matrix4f worldViewProjMatrix = new Matrix4f();
+    final private Matrix3f normalMatrix = new Matrix3f();
+    final private Matrix3f worldNormalMatrix = new Matrix3f();
+    final private Matrix4f worldMatrixInv = new Matrix4f();
+    final private Matrix3f worldMatrixInvTrsp = new Matrix3f();
+    final private Matrix4f viewMatrixInv = new Matrix4f();
+    final private Matrix4f projMatrixInv = new Matrix4f();
+    final private Matrix4f viewProjMatrixInv = new Matrix4f();
+    final private Matrix4f worldViewMatrixInv = new Matrix4f();
+    final private Matrix3f normalMatrixInv = new Matrix3f();
+    final private Matrix4f worldViewProjMatrixInv = new Matrix4f();
+    final private Vector4f viewPort = new Vector4f();
+    final private Vector2f resolution = new Vector2f();
+    final private Vector2f resolutionInv = new Vector2f();
+    final private Vector2f nearFar = new Vector2f();
 
     /**
      * Internal use only.

+ 2 - 2
jme3-core/src/main/java/com/jme3/shader/VarType.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,7 +62,7 @@ public enum VarType {
 
     private boolean usesMultiData = false;
     private boolean textureType = false;
-    private String glslType;
+    final private String glslType;
 
     
     VarType(String glslType){

+ 10 - 10
jme3-core/src/main/java/com/jme3/shadow/BasicShadowRenderer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,17 +62,17 @@ public class BasicShadowRenderer implements SceneProcessor {
 
     private RenderManager renderManager;
     private ViewPort viewPort;
-    private FrameBuffer shadowFB;
-    private Texture2D shadowMap;
-    private Camera shadowCam;
-    private Material preshadowMat;
-    private Material postshadowMat;
-    private Picture dispPic = new Picture("Picture");
+    final private FrameBuffer shadowFB;
+    final private Texture2D shadowMap;
+    final private Camera shadowCam;
+    final private Material preshadowMat;
+    final private Material postshadowMat;
+    final private Picture dispPic = new Picture("Picture");
     private boolean noOccluders = false;
-    private Vector3f[] points = new Vector3f[8];
-    private Vector3f direction = new Vector3f();
+    final private Vector3f[] points = new Vector3f[8];
+    final private Vector3f direction = new Vector3f();
     protected Texture2D dummyTex;
-    private float shadowMapSize;
+    final private float shadowMapSize;
 
     protected GeometryList lightReceivers = new GeometryList(new OpaqueComparator());
     protected GeometryList shadowOccluders = new GeometryList(new OpaqueComparator());

+ 2 - 2
jme3-core/src/main/java/com/jme3/texture/FrameBuffer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@ public class FrameBuffer extends NativeObject {
     private int width = 0;
     private int height = 0;
     private int samples = 1;
-    private ArrayList<RenderBuffer> colorBufs = new ArrayList<RenderBuffer>();
+    final private ArrayList<RenderBuffer> colorBufs = new ArrayList<RenderBuffer>();
     private RenderBuffer depthBuf = null;
     private int colorBufIndex = 0;
     private boolean srgb;

+ 2 - 2
jme3-core/src/main/java/com/jme3/util/BufferUtils.java

@@ -65,8 +65,8 @@ public final class BufferUtils {
     private static final BufferAllocator allocator = BufferAllocatorFactory.create();
 
     private static boolean trackDirectMemory = false;
-    private static ReferenceQueue<Buffer> removeCollected = new ReferenceQueue<Buffer>();
-    private static ConcurrentHashMap<BufferInfo, BufferInfo> trackedBuffers = new ConcurrentHashMap<BufferInfo, BufferInfo>();
+    final private static ReferenceQueue<Buffer> removeCollected = new ReferenceQueue<Buffer>();
+    final private static ConcurrentHashMap<BufferInfo, BufferInfo> trackedBuffers = new ConcurrentHashMap<BufferInfo, BufferInfo>();
     static ClearReferences cleanupthread;
 
     /**

+ 5 - 5
jme3-core/src/main/java/com/jme3/util/JmeFormatter.java

@@ -45,11 +45,11 @@ import java.util.logging.LogRecord;
  */
 public class JmeFormatter extends Formatter {
 
-    private Date calendar = new Date();
-    private String lineSeperator;
-    private MessageFormat format;
-    private Object args[] = new Object[1];
-    private StringBuffer store = new StringBuffer();
+    final private Date calendar = new Date();
+    final private String lineSeperator;
+    final private MessageFormat format;
+    final private Object args[] = new Object[1];
+    final private StringBuffer store = new StringBuffer();
 
     public JmeFormatter(){
         lineSeperator = System.getProperty("line.separator");

+ 3 - 3
jme3-core/src/main/java/com/jme3/util/MaterialDebugAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -98,8 +98,8 @@ public class MaterialDebugAppState extends AbstractAppState {
     private RenderManager renderManager;
     private AssetManager assetManager;
     private InputManager inputManager;
-    private List<Binding> bindings = new ArrayList<Binding>();
-    private Map<Trigger,List<Binding>> fileTriggers = new HashMap<Trigger,List<Binding>> ();
+    final private List<Binding> bindings = new ArrayList<Binding>();
+    final private Map<Trigger,List<Binding>> fileTriggers = new HashMap<Trigger,List<Binding>> ();
     
 
     @Override

+ 5 - 5
jme3-core/src/main/java/com/jme3/util/NativeObjectManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,17 +74,17 @@ public class NativeObjectManager {
     /**
      * List of currently active GLObjects.
      */
-    private HashMap<Long, NativeObjectRef> refMap = new HashMap<Long, NativeObjectRef>();
+    final private HashMap<Long, NativeObjectRef> refMap = new HashMap<Long, NativeObjectRef>();
     
     /**
      * List of real objects requested by user for deletion.
      */
-    private ArrayDeque<NativeObject> userDeletionQueue = new ArrayDeque<NativeObject>();
+    final private ArrayDeque<NativeObject> userDeletionQueue = new ArrayDeque<NativeObject>();
 
     private static class NativeObjectRef extends PhantomReference<Object> {
         
-        private NativeObject objClone;
-        private WeakReference<NativeObject> realObj;
+        final private NativeObject objClone;
+        final private WeakReference<NativeObject> realObj;
 
         public NativeObjectRef(ReferenceQueue<Object> refQueue, NativeObject obj){
             super(obj.handleRef, refQueue);

+ 3 - 3
jme3-core/src/main/java/com/jme3/util/SafeArrayList.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -83,7 +83,7 @@ public class SafeArrayList<E> implements List<E>, Cloneable {
     //       the list.  This was the callers couldn't remove a child
     //       without it being detached properly, for example.
 
-    private Class<E> elementType;
+    final private Class<E> elementType;
     private List<E> buffer;
     private E[] backingArray;
     private int size = 0;
@@ -402,7 +402,7 @@ public class SafeArrayList<E> implements List<E>, Cloneable {
     }
 
     protected class ArrayIterator<E> implements ListIterator<E> {
-        private E[] array;
+        final private E[] array;
         private int next;
         private int lastReturned;
 

+ 2 - 2
jme3-core/src/main/java/com/jme3/util/blockparser/BlockLanguageParser.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,7 @@ import java.util.List;
 public class BlockLanguageParser {
     
     private Reader reader;
-    private ArrayList<Statement> statementStack = new ArrayList<Statement>();
+    final private ArrayList<Statement> statementStack = new ArrayList<Statement>();
     private Statement lastStatement;
     private int lineNumber = 1;
     

+ 4 - 4
jme3-core/src/main/java/com/jme3/util/clone/Cloner.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2020 jMonkeyEngine
+ * Copyright (c) 2016-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -99,17 +99,17 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public class Cloner {
 
-    static Logger log = Logger.getLogger(Cloner.class.getName());
+    final static Logger log = Logger.getLogger(Cloner.class.getName());
 
     /**
      *  Keeps track of the objects that have been cloned so far.
      */
-    private IdentityHashMap<Object, Object> index = new IdentityHashMap<Object, Object>();
+    final private IdentityHashMap<Object, Object> index = new IdentityHashMap<Object, Object>();
 
     /**
      *  Custom functions for cloning objects.
      */
-    private Map<Class, CloneFunction> functions = new HashMap<Class, CloneFunction>();
+    final private Map<Class, CloneFunction> functions = new HashMap<Class, CloneFunction>();
 
     /**
      *  Cache the clone methods once for all cloners.

+ 2 - 2
jme3-core/src/plugins/java/com/jme3/asset/plugins/FileLocator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,7 +61,7 @@ public class FileLocator implements AssetLocator {
 
     private static class AssetInfoFile extends AssetInfo {
 
-        private File file;
+        final private File file;
 
         public AssetInfoFile(AssetManager manager, AssetKey key, File file){
             super(manager, key);

+ 2 - 2
jme3-core/src/plugins/java/com/jme3/asset/plugins/UrlAssetInfo.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +47,7 @@ import java.net.URLConnection;
  */
 public class UrlAssetInfo extends AssetInfo {
     
-    private URL url;
+    final private URL url;
     private InputStream in;
     
     public static UrlAssetInfo create(AssetManager assetManager, AssetKey key, URL url) throws IOException {

+ 2 - 2
jme3-core/src/plugins/java/com/jme3/audio/plugins/WAVLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +70,7 @@ public class WAVLoader implements AssetLoader {
     
     private static class ResettableInputStream extends LittleEndien implements SeekableStream {
         
-        private AssetInfo info;
+        final private AssetInfo info;
         private int resetOffset = 0;
         
         public ResettableInputStream(AssetInfo info, InputStream in) {

+ 3 - 3
jme3-core/src/plugins/java/com/jme3/export/binary/BinaryExporter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -154,10 +154,10 @@ public class BinaryExporter implements JmeExporter {
              = new HashMap<Integer, Integer>();
 
     // key - class name, value = bco
-    private HashMap<String, BinaryClassObject> classes
+    final private HashMap<String, BinaryClassObject> classes
              = new HashMap<String, BinaryClassObject>();
 
-    private ArrayList<Savable> contentKeys = new ArrayList<Savable>();
+    final private ArrayList<Savable> contentKeys = new ArrayList<Savable>();
 
     public static boolean debug = false;
     public static boolean useFastBufs = true;

+ 5 - 5
jme3-core/src/plugins/java/com/jme3/export/binary/BinaryImporter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,16 +54,16 @@ public final class BinaryImporter implements JmeImporter {
     private AssetManager assetManager;
 
     //Key - alias, object - bco
-    private HashMap<String, BinaryClassObject> classes
+    final private HashMap<String, BinaryClassObject> classes
              = new HashMap<String, BinaryClassObject>();
     //Key - id, object - the savable
-    private HashMap<Integer, Savable> contentTable
+    final private HashMap<Integer, Savable> contentTable
             = new HashMap<Integer, Savable>();
     //Key - savable, object - capsule
-    private IdentityHashMap<Savable, BinaryInputCapsule> capsuleTable
+    final private IdentityHashMap<Savable, BinaryInputCapsule> capsuleTable
              = new IdentityHashMap<Savable, BinaryInputCapsule>();
     //Key - id, opject - location in the file
-    private HashMap<Integer, Integer> locationTable
+    final private HashMap<Integer, Integer> locationTable
              = new HashMap<Integer, Integer>();
 
     public static boolean debug = false;

+ 4 - 4
jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,10 +73,10 @@ public class J3MLoader implements AssetLoader {
     private Material material;
     private TechniqueDef technique;
     private RenderState renderState;
-    private ArrayList<String> presetDefines = new ArrayList<String>();
+    final private ArrayList<String> presetDefines = new ArrayList<String>();
 
-    private List<EnumMap<Shader.ShaderType, String>> shaderLanguages;
-    private EnumMap<Shader.ShaderType, String> shaderNames;
+    final private List<EnumMap<Shader.ShaderType, String>> shaderLanguages;
+    final private EnumMap<Shader.ShaderType, String> shaderNames;
 
     private static final String whitespacePattern = "\\p{javaWhitespace}+";
 

+ 3 - 3
jme3-core/src/plugins/java/com/jme3/scene/plugins/OBJLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -87,7 +87,7 @@ public final class OBJLoader implements AssetLoader {
     protected Node objNode;
 
     private static class Group {
-        private String name;
+        final private String name;
         private final ArrayList<Face> faces = new ArrayList<Face>();
         private final HashMap<String, ArrayList<Face>> matFaces = new HashMap<String, ArrayList<Face>>();
 
@@ -237,7 +237,7 @@ public final class OBJLoader implements AssetLoader {
         return t;
     }
 
-    private ArrayList<Vertex> vertList = new ArrayList<Vertex>();
+    final private ArrayList<Vertex> vertList = new ArrayList<Vertex>();
 
     protected void readFace(){
         Face f = new Face();

+ 2 - 2
jme3-core/src/plugins/java/com/jme3/shader/plugins/GLSLLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@ import java.util.*;
 public class GLSLLoader implements AssetLoader {
 
     private AssetManager assetManager;
-    private Map<String, ShaderDependencyNode> dependCache = new HashMap<>();
+    final private Map<String, ShaderDependencyNode> dependCache = new HashMap<>();
 
     /**
      * Used to load {@link ShaderDependencyNode}s.

+ 3 - 3
jme3-core/src/test/java/com/jme3/renderer/OpaqueComparatorTest.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2015 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,10 +56,10 @@ import org.junit.Test;
 public class OpaqueComparatorTest {
     
     private final Mesh mesh = new Box(1,1,1);
-    private Camera cam = new Camera(1, 1);
+    final private Camera cam = new Camera(1, 1);
     private RenderManager renderManager;
     private AssetManager assetManager;
-    private OpaqueComparator comparator = new OpaqueComparator();
+    final private OpaqueComparator comparator = new OpaqueComparator();
     
     @Before
     public void setUp() {

+ 3 - 3
jme3-core/src/tools/java/jme3tools/optimize/LodGenerator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2020 jMonkeyEngine
+ * Copyright (c) 2009-2021 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -108,7 +108,7 @@ public class LodGenerator {
     private List<Triangle> triangleList;
     private List<Vertex> vertexList = new ArrayList<Vertex>();
     private float meshBoundingSphereRadius;
-    private Mesh mesh;
+    final private Mesh mesh;
 
     /**
      * Describe the way triangles will be removed. <br> PROPORTIONAL :
@@ -242,7 +242,7 @@ public class LodGenerator {
     /**
      * Comparator used to sort vertices according to their collapse cost
      */
-    private Comparator<Vertex> collapseComparator = new Comparator<Vertex>() {
+    final private Comparator<Vertex> collapseComparator = new Comparator<Vertex>() {
         @Override
         public int compare(Vertex o1, Vertex o2) {
             if (Float.compare(o1.collapseCost, o2.collapseCost) == 0) {

+ 8 - 8
jme3-core/src/tools/java/jme3tools/optimize/TextureAtlas.java

@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2009-2020 jMonkeyEngine
+ *  Copyright (c) 2009-2021 jMonkeyEngine
  *  All rights reserved.
  * 
  *  Redistribution and use in source and binary forms, with or without
@@ -121,11 +121,11 @@ public class TextureAtlas {
 
     private static final Logger logger = Logger.getLogger(TextureAtlas.class.getName());
     private Map<String, byte[]> images;
-    private int atlasWidth, atlasHeight;
-    private Format format = Format.ABGR8;
-    private Node root;
-    private Map<String, TextureAtlasTile> locationMap;
-    private Map<String, String> mapNameMap;
+    final private int atlasWidth, atlasHeight;
+    final private Format format = Format.ABGR8;
+    final private Node root;
+    final private Map<String, TextureAtlasTile> locationMap;
+    final private Map<String, String> mapNameMap;
     private String rootMapName;
 
     public TextureAtlas(int width, int height) {
@@ -620,8 +620,8 @@ public class TextureAtlas {
 
     public class TextureAtlasTile {
 
-        private int x;
-        private int y;
+        final private int x;
+        final private int y;
         private int width;
         private int height;
 

+ 1 - 1
jme3-core/src/tools/java/jme3tools/shadercheck/ShaderCheck.java

@@ -20,7 +20,7 @@ public class ShaderCheck {
     private static final Logger logger = Logger.getLogger(ShaderCheck.class.getName());
     private static AssetManager assetManager;
     
-    private static Validator[] validators = new Validator[]{
+    final private static Validator[] validators = new Validator[]{
         new CgcValidator(),
 //        new GpuAnalyzerValidator()
     };