Canyon was designed to enable developers to meet 80-90% of the most common use case quickly, efficiently and more flexibly. By now you have probably installed Canyon, got it running beautifully, but now you have a use case that falls into the 20-10% and you need to exercise a bit more power. Canyon has been developed with some really powerful database like features to help.
All Canyon features are full explained with examples in the User Guide. Here we provide a brief synopsis of some of them.
RelationshipsOne of the features was touched upon in the first example, and that is of keys and relationship. Here we explain how this works and how you can utilise it fully. Using relationships allows your flat files to take on some characteristics of a database. There are limitations however but this feature is really easy to use and again is based on the common use cases with flat files. You can model collections, sets and foreign objects across multiple files in no time at all.
Attribute level controlAnother powerful feature and extension point is the ProperyAccessor. By overriding this class you can really make Canyon behave with almost infinite flexibility. Take a look here for an example.