How do I associate my own properties with a ContentEntityObject?

You will need the ContentEntityManager (see how to retrieve it). This manager allows you to store and retrieve arbitrary String values associated with a ContentEntityObject.

Properties are stored as simple key/value pairs. We recommend that anyone writing a third-party plugin use the standard Java "reverse domain name" syntax to ensure their keys are unique. Keys may be no longer than 200 characters.

// Set the property
contentPropertyManager.setText(page, "com.example.myProperty", "This is the value")
// Retrieve it
String myProperty = contentPropertyManager.getText(page, "com.example.myProperty")

getText and setText can store strings of arbitrary length (up to the size-limit for CLOBs in your database). There is also a getString and setString which is slightly more efficient, but limited to 255 characters per value.