This package defines classes that help in implementing MOPs as well as creating (mostly composite) MOP instances. A simple composite MOP is provided, as well an adapter to convert any base metaobject protocol into a full metaobject protocol, and a base class that can be used to more easily (if not the most optimally) implement custom MOPs.

Also, the package contains utility classes for {@link org.dynalang.mop.impl.AutoDiscovery automatically discovering MOP implementations} available in a classpath of any class loader and for {@link org.dynalang.mop.impl.StandardMetaobjectProtocolFactory creating "standard" composite MOPs} that merge all available MOPs in the classpath into one. To use existing MOPs, you will usually only need these facilities.