Package | Description |
---|---|
org.dynalang.mop |
This package defines the metaobject protocol interfaces.
|
org.dynalang.mop.beans |
This package defines a metaobject protocol implementation that follows
the JavaBeans specification.
|
org.dynalang.mop.collections |
This package defines metaobject protocol implementations that expose
standard Java lists and maps as dynamic objects, with the usually
expected semantics (lists act as number-indexed associative arrays, maps
act as generic associative arrays).
|
org.dynalang.mop.impl |
This package defines classes that help in implementing MOPs as well as
creating (mostly composite) MOP instances.
|
Modifier and Type | Interface and Description |
---|---|
interface |
ClassBasedMetaobjectProtocol
An interface that can be optionally implemented by any MOP if it is strictly
class-based (that is, the class of an object solely determines whether it
has authority over it or not).
|
interface |
MetaobjectProtocol
An extension of
BaseMetaobjectProtocol that can provide various
convenience functionality that can implemented in terms of base
functionality, but the specialized implementations can be optimized. |
Modifier and Type | Class and Description |
---|---|
class |
BeansMetaobjectProtocol
A metaobject protocol implementation that allows access and manipulation of
POJOS using semantics adhering to the JavaBeans specification, as well as
access and manipulation of native Java arrays.
|
Modifier and Type | Class and Description |
---|---|
class |
ListMetaobjectProtocol
A metaobject protocol that knows how to manipulate Java lists.
|
class |
MapMetaobjectProtocol
A metaobject protocol that knows how to manipulate Java maps.
|
Modifier and Type | Class and Description |
---|---|
class |
BottomMetaobjectProtocol
An implementation for "bottom" metaobject protocol, one that returns
authoritative answer for all methods, and claims nonexistence (and
non-callability) for everything.
|
class |
CompositeClassBasedMetaobjectProtocol
A MOP that is composed of
ClassBasedMetaobjectProtocol instances. |
class |
CompositeMetaobjectProtocol
A simple composite MOP that uses a chain of other MOPs to carry out its
operations.
|
class |
MetaobjectProtocolAdaptor
This class can turn any
BaseMetaobjectProtocol into a full
MetaobjectProtocol by implementing the MOP methods using only the
Base MOP methods. |
class |
MetaobjectProtocolBase
A convenient base class for implementing a
MetaobjectProtocol that
requires you to only implement MetaobjectProtocolBase methods on it. |
Modifier and Type | Method and Description |
---|---|
static BaseMetaobjectProtocol[] |
AutoDiscovery.discoverBaseMetaobjectProtocols()
Returns an instance of all metaobject protocol classes that are declared
in the /META-INF/services/org.dynalang.mop.BaseMetaobjectProtocol
resources of all JAR files in the current thread's context class loader's
classpath.
|
static BaseMetaobjectProtocol[] |
AutoDiscovery.discoverBaseMetaobjectProtocols(java.lang.ClassLoader cl)
Returns an instance of all metaobject protocol classes that are declared
in the /META-INF/services/org.dynalang.mop.BaseMetaobjectProtocol
resources of all JAR files in the specified class loader's classpath.
|
Modifier and Type | Method and Description |
---|---|
static MetaobjectProtocol[] |
MetaobjectProtocolAdaptor.toMetaobjectProtocols(BaseMetaobjectProtocol[] protocols)
Takes an array of base MOPs and "upgrades" them to a full MOP.
|
Constructor and Description |
---|
MetaobjectProtocolAdaptor(BaseMetaobjectProtocol bmop)
Constructs a new MetaobjectProtocolAdaptor that enhances the adapted
BaseMetaobjectProtocol with additional MetaobjectProtocol methods.
|