October 4, 2007

annotation: @SuppressWarnings

Excluding warnings using SuppressWarnings

Help - Eclipse SDK (at the bottom of this page...)

Java 5.0 offers the option to the user to disable compilation warnings relative to a subset of a compilation unit using
the annotation java.lang.SuppressWarning.

 @SuppressWarning("unused") public void foo() {
String s;
}

Without the annotation, the compiler would complain that the local variable s is never used. With the annotation, the compiler silently ignores this warning locally to the foo method. This enables to keep the warnings in other locations of the same compilation unit or the same project.

The list of tokens that can be used inside an SuppressWarning annotation is:

  • all to suppress all warnings
  • boxing to suppress warnings relative to boxing/unboxing operations
  • cast to suppress warnings relative to cast operations
  • dep-ann to suppress warnings relative to deprecated annotation
  • deprecation to suppress warnings relative to deprecation
  • fallthrough to suppress warnings relative to missing breaks in switch statements
  • finally to suppress warnings relative to finally block that don't return
  • hiding to suppress warnings relative to locals that hide variable
  • incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)
  • nls to suppress warnings relative to non-nls string literals
  • null to suppress warnings relative to null analysis
  • restriction to suppress warnings relative to usage of discouraged or forbidden references
  • serial to suppress warnings relative to missing serialVersionUID field for a serializable class
  • static-access to suppress warnings relative to incorrect static access
  • synthetic-access to suppress warnings relative to unoptimized access from inner classes
  • unchecked to suppress warnings relative to unchecked operations
  • unqualified-field-access to suppress warnings relative to field access unqualified
  • unused to suppress warnings relative to unused code

October 3, 2007

ms ie 6, headache for developers


6 Reasons Why IE6 Must Die
[my italic]
Internet Explorer 6, released on August 27, 2001, was a package of problems right from the start. Within a year of release, Microsoft silently declared that IE6 would not make enough money for them to support as closely as a browser should supported. The result has been numerous security problems, unfixed browser bugs, and a daily migraine for developers.
....
Lack of PNG Transparency Support
....
CSS Float + Margin / Padding Issues
....
Lack of CSS Pseudo-Class & Pseudo-Element Support
....
No Min-Height CSS Support
....
CSS Anchor Background Image Flicker
....
Crashing With Code