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 used as either target or
property identifier solely determines whether it has authority over it or
not).
|
Modifier and Type | Class and Description |
---|---|
class |
ArrayMetaobjectProtocol<T>
Adds access to array elements by numeric index as well as the "length"
read-only property to
BeanMetaobjectProtocol . |
class |
BeanMetaobjectProtocol<T>
Exposes a metaobject protocol for a single Java class, treating it as a
JavaBean.
|
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 MetaobjectProtocol[] |
StandardMetaobjectProtocolFactory.createStandardFallback(boolean elementsShadowMethods,
boolean methodsEnumerable)
Creates "standard" fallback MOP sequence to use as the fallback
parameter in
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(ClassLoader,
MetaobjectProtocol[], MetaobjectProtocol[]) . |
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(boolean elementsShadowMethods,
boolean methodsEnumerable)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs in the
classpath of the current thread's class loader.
|
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(java.lang.ClassLoader classLoader,
MetaobjectProtocol[] prioritized,
MetaobjectProtocol[] fallbacks)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs.
|
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(MetaobjectProtocol nativeProtocol,
boolean elementsShadowMethods,
boolean methodsEnumerable)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs in the
classpath of the current thread's class loader, adding a single
metaobject protocol as the first MOP of the composite.
|
static MetaobjectProtocol[] |
CompositeClassBasedMetaobjectProtocol.optimize(MetaobjectProtocol[] mops)
Optimizes a list of MOPs.
|
static MetaobjectProtocol[] |
MetaobjectProtocolAdaptor.toMetaobjectProtocols(BaseMetaobjectProtocol[] protocols)
Takes an array of base MOPs and "upgrades" them to a full MOP.
|
Modifier and Type | Method and Description |
---|---|
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(java.lang.ClassLoader classLoader,
MetaobjectProtocol[] prioritized,
MetaobjectProtocol[] fallbacks)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs.
|
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(java.lang.ClassLoader classLoader,
MetaobjectProtocol[] prioritized,
MetaobjectProtocol[] fallbacks)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs.
|
static MetaobjectProtocol |
StandardMetaobjectProtocolFactory.createStandardMetaobjectProtocol(MetaobjectProtocol nativeProtocol,
boolean elementsShadowMethods,
boolean methodsEnumerable)
This method implements the "usual" way for creation of a composite
metaobject protocol instance that encompasses all available MOPs in the
classpath of the current thread's class loader, adding a single
metaobject protocol as the first MOP of the composite.
|
static MetaobjectProtocol[] |
CompositeClassBasedMetaobjectProtocol.optimize(MetaobjectProtocol[] mops)
Optimizes a list of MOPs.
|
Constructor and Description |
---|
CompositeMetaobjectProtocol(MetaobjectProtocol[] members)
Creates a new composite metaobject protocol from the specified members.
|