OP didn’t say he couldn’t expose the REST API. They said the REST API may not be used for this project (almost sounds like a school project). HABApp still uses the REST API so without further information for why the REST API can’t be used for this project I’d not assume that HABApp would be allowed any more than the Remote openHAB binding is.
There is no problem doing it from Rules Automation add-ons. It would kind of defeat the point of Rules if they couldn’t react to Item events. It’s a restriction of bindings though. Unless the devs have changed their minds, a binding would not be allowed that sort of access to Items and Item events.
Marketplace MQTT Event Bus shows how to do it in Rules DSL, JavaScript, and Python. There is nothing that would make it difficult to do in any of the languages including the Java Rules. If you were to code up a Java rules example I’d be happy to add it to that tutorial as well. It’s really not that many lines of code really. I JavaScript it’s about 10 LOC to do it all (not counting the rules definition proforma stuff).