...
Serialization of inner classes can introduce platform dependencies and can cause serialization of instances of the outer class.
Rule | Severity | Likelihood |
|---|
Detectable | Repairable | Priority | Level |
|---|---|---|---|
SER05-J | Medium | Likely |
Yes | No | P12 | L1 |
Automated Detection
Detection of inner classes that implement serialization is straightforward.
| Tool | Version | Checker | Description | ||
|---|---|---|---|---|---|
| Klocwork |
|
| JAVA.SERIALIZE.INNER | ||||
| SonarQube |
|
|
| S2066 |
S2059 |
...
| "Serializable" inner classes of non-serializable classes should be "static" "Serializable" inner classes of "Serializable" classes should be static |
Related Guidelines
Bibliography
[API 2014] | |
Item 74, "Implement Serialization Judiciously" | |
[JLS 2015] | |
[Sun 2006] | Serialization Specification, Section 1.10, "The Serializable Interface" |
...
...