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 |
BaseMetaobjectProtocol
The base metaobject protocol interface that provides essential functionality
for implementing a metaobject protocol.
|
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 | Method and Description |
---|---|
java.lang.Object |
CallProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args)
Calls a callable object with named arguments.
|
java.lang.Object |
CallProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args)
Calls a callable object with positional arguments.
|
java.lang.Object |
MetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args)
Calls a method on the target object with supplied named arguments.
|
java.lang.Object |
MetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args)
Calls a method on the target object with supplied positional arguments.
|
BaseMetaobjectProtocol.Results |
MetaobjectProtocol.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Behaves as
BaseMetaobjectProtocol.put(Object, Object, Object,CallProtocol)
with an integer property ID. |
BaseMetaobjectProtocol.Results |
BaseMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Associates a value with a property in the target object.
|
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 | Method and Description |
---|---|
java.lang.Object |
BeansMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
BeansMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
BeansMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
BeansMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
BaseMetaobjectProtocol.Results |
BeansMetaobjectProtocol.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
BeansMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
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 | Method and Description |
---|---|
java.lang.Object |
MapMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
ListMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
MapMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
ListMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
ListMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
ListMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
BaseMetaobjectProtocol.Results |
ListMetaobjectProtocol.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Puts an element into the list.
|
BaseMetaobjectProtocol.Results |
MapMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Binds a key-value pair into the map.
|
BaseMetaobjectProtocol.Results |
ListMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Puts an element into the list.
|
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 |
---|---|
java.lang.Object |
CompositeClassBasedMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
BottomMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
CompositeMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
MetaobjectProtocolAdaptor.call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
CompositeClassBasedMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
BottomMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
CompositeMetaobjectProtocol.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
MetaobjectProtocolAdaptor.call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
CompositeClassBasedMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
CompositeMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
MetaobjectProtocolAdaptor.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
MetaobjectProtocolBase.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args) |
java.lang.Object |
CompositeClassBasedMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
CompositeMetaobjectProtocol.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
MetaobjectProtocolAdaptor.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
java.lang.Object |
MetaobjectProtocolBase.call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args) |
BaseMetaobjectProtocol.Results |
CompositeClassBasedMetaobjectProtocol.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
CompositeMetaobjectProtocol.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
MetaobjectProtocolAdaptor.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
MetaobjectProtocolBase.put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
CompositeClassBasedMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
BottomMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
CompositeMetaobjectProtocol.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol) |
BaseMetaobjectProtocol.Results |
MetaobjectProtocolAdaptor.put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol) |