Interface MetaDataMerged

All Known Implementing Classes:

public interface MetaDataMerged

This interface is merely a marker interface to indicate to RIFE that it should consider this class as a MetaData class whose interfaces will be automatically merged into the sibling class that it's augmenting.

So, consider a class Foo and another class FooMetaData. When FooMetaData implements MetaDataMerged, RIFE will adapt Foo and make it implement all the interfaces that FooMetaData implements. Also, when the default constructor of Foo is called, an instance of FooMetaData will be created and stored in a new hidden member variable. The added method implementations simple delegate to the instance of FooMetaData.

Optionally, FooMetaData can also implement MetaDataBeanAware, in which case the instance of FooMetaData will receive the instance of Foo that it belongs to right after it has been instantiated.

Note that the relationship between Foo and FooMetaData is purely name based (the MetaData suffix). RIFE will look up the meta data class through the classpath, which means that it's possible to augment any class, anywhere, in any package, even without having the source code.

$Revision: 3634 $
Geert Bevin (gbevin[remove] at uwyn dot com)
See Also:

Copyright © 2001-2007 Uwyn sprl/bvba. All Rights Reserved.