The Talon Manual

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
public interface IMessage extends IRogNode, IRogMessage, IRogValidatable{
    
	/**
     * Tests if this object has any validation errors. 
     */
    public boolean isValid();
    
    /** 
     * Collects validation errors into the provided list. It is illegal for the 
     * caller to hold onto the List of XStrings beyond the lifespace of this
     * object. 
     * 
     * @param results A results list into which validation errors will be collected.
     * @param beanPathPrefix The bean path prefix to use when identifying invalid 
     *                       fields or null if validating a top level entity.
     */
    public void getValidationErrors(List<XString> results, String beanPathPrefix);
}

Anchor
ADMModelEvolution
ADMModelEvolution

Model Evolution and Compatibility

anchor ADMModelEvolutionADMModelEvolution

Because Message and Entities are serialized and deserialized, it is important that modeled objects can evolve over time without breaking the ability to deserialize objects from a previous evolution of a model. For example, if the type of a message field is changed from one release of your application to the next, a receiver that is still on an older version that receives the message won't be able to deserialize the message. To ensure that such issues don't occur, follow the set of guidelines and rules outlined below. Similarly, if your application is configured to persist to a transaction log and you later try to read from the transaction log with the newly generated code, it won't be able to read from the older serialization. 

...