rspec/rules/S2325/java/rule.adoc
2020-12-23 14:59:06 +01:00

44 lines
1.0 KiB
Plaintext

Non-overridable methods (``private`` or ``final``) that don't access instance data can be ``static`` to prevent any misunderstanding about the contract of the method.
== Noncompliant Code Example
----
class Utilities {
private static String magicWord = "magic";
private String getMagicWord() { // Noncompliant
return magicWord;
}
private void setMagicWord(String value) { // Noncompliant
magicWord = value;
}
}
----
== Compliant Solution
----
class Utilities {
private static String magicWord = "magic";
private static String getMagicWord() {
return magicWord;
}
private static void setMagicWord(String value) {
magicWord = value;
}
}
----
== Exceptions
When ``java.io.Serializable`` is implemented the following three methods are excluded by the rule:
* ``private void writeObject(java.io.ObjectOutputStream out) throws IOException;``
* ``private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;``
* ``private void readObjectNoData() throws ObjectStreamException;``