Make public fields final where possible
Class fields initialized via the constructor should be final.
Also mark leaking byte[] instances with a FIXME. API users consider them
immutable, but they are vulnerable to System.arrayCopy().
Also fixes constructor arguments so they do not use underscores, which
is prohibited by Java 9.
Change-Id: I393d55ed7234149cb3604bc92b2cb1d1207c55dc
Signed-off-by: Robert Varga <nite@hq.sk>
diff --git a/vpp-japi/japi/org/openvpp/vppjapi/vppL2Fib.java b/vpp-japi/japi/org/openvpp/vppjapi/vppL2Fib.java
index 9f43449..b38d801 100644
--- a/vpp-japi/japi/org/openvpp/vppjapi/vppL2Fib.java
+++ b/vpp-japi/japi/org/openvpp/vppjapi/vppL2Fib.java
@@ -15,20 +15,21 @@
package org.openvpp.vppjapi;
-public class vppL2Fib {
- public byte[] physAddress;
- public boolean staticConfig;
- public String outgoingInterface;
- public boolean filter;
- public boolean bridgedVirtualInterface;
+public final class vppL2Fib {
+ // FIXME: this is dangerous
+ public final byte[] physAddress;
+ public final boolean staticConfig;
+ public final String outgoingInterface;
+ public final boolean filter;
+ public final boolean bridgedVirtualInterface;
- public vppL2Fib(byte[] _physAddress, boolean _staticConfig,
- String _outgoingInterface, boolean _filter,
- boolean _bridgedVirtualInterface) {
- physAddress = _physAddress;
- staticConfig = _staticConfig;
- outgoingInterface = _outgoingInterface;
- filter = _filter;
- bridgedVirtualInterface = _bridgedVirtualInterface;
+ public vppL2Fib(byte[] physAddress, boolean staticConfig,
+ String outgoingInterface, boolean filter,
+ boolean bridgedVirtualInterface) {
+ this.physAddress = physAddress;
+ this.staticConfig = staticConfig;
+ this.outgoingInterface = outgoingInterface;
+ this.filter = filter;
+ this.bridgedVirtualInterface = bridgedVirtualInterface;
}
}