package ic_java.false_positives;
import javax.swing.text.AttributeSet;
import javax.swing.text.Element;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTML.Attribute;
public class FalsePositives11 {
public static final String TOP = "top";
public static final String TEXTTOP = "texttop";
public static final String MIDDLE = "middle";
public static final String ABSMIDDLE = "absmiddle";
public static final String CENTER = "center";
public static final String BOTTOM = "bottom";
public static final String IMAGE_CACHE_PROPERTY = "imageCache";
protected Element fElement;
protected boolean bLoading; // set to true while the receiver is locked, to
// indicate the reciever is loading the image.
// This is used in imageUpdate.
/*
* example from terpword. This example shows how the NullPointerAnalysis
* fails to show that $this is always non-null
*/
@SuppressWarnings("unused")
public void initialize(Element elem) {
synchronized (this) {
bLoading = true;
}
int width = 0;
int height = 0;
boolean customWidth = false;
boolean customHeight = false;
try {
fElement = elem;
// request image from document's cache
AttributeSet attr = elem.getAttributes();
// get height & width from params or image or defaults
height = getIntAttr(HTML.Attribute.HEIGHT, -1);
customHeight = (height > 0);
width = getIntAttr(HTML.Attribute.WIDTH, -1);
customWidth = (width > 0);
} finally {
synchronized (this) {
bLoading = false; // NullnessAnaysis fails to show that $this is
// non-null
}
}
}
private int getIntAttr(Attribute height, int i) {
// TODO Auto-generated method stub
return 0;
}
}