rspec/rules/S3036/java/rule.adoc

42 lines
836 B
Plaintext
Raw Normal View History

== Why is this an issue?
2021-04-28 16:49:39 +02:00
Any extensible class might have subclasses located in a different package. When that happens, the use of ``++this.getClass().getResource++`` with a relative path would mean that the resource isn't found for the child class.
Instead, use an absolute path or make the class ``++final++``.
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
public class MyClass {
private URL url = null;
public MyClass(){
this.url = this.getClass().getResource("file.txt"); // Noncompliant
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Make this class final, or use an absolute path.
'''
== Comments And Links
(visible only on this page)
=== on 17 Jun 2015, 15:17:39 Nicolas Peru wrote:
Looks good.
endif::env-github,rspecator-view[]