Do we have any plugin/way in eclipse that forbids(show error/warning) while using some method. In my code, I want way to confirm that System.currentTimeMillis() / Calendar.getInstance() is not being called by anyone also if someone tries to use this, eclipse should show error.
Thanks
Ankush
You could write your own FindBugs plugin that relies on the FindBugs API to provide you with metadata about method invocations (among other opcodes found in the bytecode). You’ll need to specifically implement a custom
BytecodeScanningDetectorthat can verify if an operation involves the execution of a set of banned APIs (System.currentTimeMillis()andCalendar.getInstance()) in your case.Here’s a tutorial to get you started on writing a FindBugs plugin. You can use this plugin in Eclipse, but it is preferable to run it in a CI server as part of your build.
You may also find that other static analysis tools like PMD may have the same features, exposed using their own APIs.
Also, if you want to run this only as part of your build, you can delegate these checks to Sonar, which allows for easy construction of architectural rules like these. Note – I haven’t tried this on methods, and so I’d warn that Sonar architectural constraints appear to be better suited when you want to ban entire class usages instead of method usages.