boolean not = readIf("NOT");
read("NULL");
if (!(left instanceof PropertyValue)) {
this.getSyntaxError("propertyName (NOT NULL is only supported for properties)");
}
PropertyValue p = (PropertyValue) left;
c = getPropertyExistence(p);
if (!not) {
c = factory.not(c);
}
} else if (readIf("NOT")) {
if (readIf("IS")) {
read("NULL");
if (!(left instanceof PropertyValue)) {
throw new RepositoryException(
"Only property values can be tested for NOT IS NULL; got: "
+ left.getClass().getName());
}
PropertyValue pv = (PropertyValue) left;
c = getPropertyExistence(pv);
} else {
read("LIKE");
c = factory.not(factory.comparison(left,
QueryObjectModelConstants.OPERATOR_LIKE,