|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.dynalang.mop.collections.ListMetaobjectProtocol
public class ListMetaobjectProtocol
A metaobject protocol that knows how to manipulate Java lists.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.dynalang.mop.BaseMetaobjectProtocol |
|---|
BaseMetaobjectProtocol.Results |
| Constructor Summary | |
|---|---|
ListMetaobjectProtocol()
|
|
| Method Summary | |
|---|---|
java.lang.Object |
call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args)
Calls a callable object with named arguments. |
java.lang.Object |
call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args)
Calls a callable object with positional arguments. |
java.lang.Object |
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 |
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 |
delete(java.lang.Object target,
long propertyId)
Handles the delete attempt from the list. |
BaseMetaobjectProtocol.Results |
delete(java.lang.Object target,
java.lang.Object propertyId)
Handles the delete attempt from the list. |
java.lang.Object |
get(java.lang.Object target,
long propertyId)
Retrieves a value from the list. |
java.lang.Object |
get(java.lang.Object target,
java.lang.Object propertyId)
Retrieves a value from the list. |
java.lang.Boolean |
has(java.lang.Object target,
long propertyId)
Tells whether the index is valid for the list. |
java.lang.Boolean |
has(java.lang.Object target,
java.lang.Object propertyId)
Tells whether the index is valid for the list. |
boolean |
isAuthoritativeForClass(java.lang.Class clazz)
Returns whether this metaobject protocol has authority over objects of the specified class. |
java.util.Iterator<java.util.Map.Entry> |
properties(java.lang.Object target)
Returns mappings from indexes to elements for a list. |
java.util.Iterator<? extends java.lang.Object> |
propertyIds(java.lang.Object target)
Returns an iterator over all indexes in a list |
BaseMetaobjectProtocol.Results |
put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Puts an element into the list. |
BaseMetaobjectProtocol.Results |
put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol)
Puts an element into the list. |
java.lang.Object |
representAs(java.lang.Object object,
java.lang.Class targetClass)
Returns a representation of the specified target object as an object of the specified target class. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ListMetaobjectProtocol()
| Method Detail |
|---|
public boolean isAuthoritativeForClass(java.lang.Class clazz)
ClassBasedMetaobjectProtocolBaseMetaobjectProtocol.Results.noAuthority for certain objects.
In that case - when used in CompositeClassBasedMetaobjectProtocol
- the other participating MOPs will also be given the chance to handle
the object after this MOP was given the chance first.
isAuthoritativeForClass in interface ClassBasedMetaobjectProtocolclazz - the class of the handled object
public java.lang.Object call(java.lang.Object callable,
CallProtocol callProtocol,
java.util.Map args)
CallProtocol
call in interface CallProtocolcallable - the callable objectcallProtocol - a marshaller that should be used by this
metaobject protocol to convert the arguments to conform to expected
argument types for the call.args - the named arguments for the callable object. null must
be treated as empty map. Usually, the map keys are strings, but it is
possible that some protocols support non-string keys.
BaseMetaobjectProtocol.Results#noAuthority as this MOP has no concept of callables
public java.lang.Object call(java.lang.Object callable,
CallProtocol callProtocol,
java.lang.Object... args)
CallProtocol
call in interface CallProtocolcallable - the callable objectcallProtocol - a marshaller that should be used by this
metaobject protocol to convert the arguments to conform to expected
argument types for the call.args - the positional arguments for the callable object. null must
be treated as empty array.
BaseMetaobjectProtocol.Results#noAuthority as this MOP has no concept of callables
public java.lang.Object call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.lang.Object... args)
MetaobjectProtocol
Object callable = get(target, callableId);
if(callable instanceof Results) {
return callable;
}
return call(callable, args);
call in interface MetaobjectProtocoltarget - the target objectcallableId - the ID of the method to callcallProtocol - a marshaller that should be used by this
metaobject protocol to convert the arguments to conform to expected
argument types for the call.args - the arguments of the call
BaseMetaobjectProtocol.Results#noAuthority as this MOP has no concept of callables
public java.lang.Object call(java.lang.Object target,
java.lang.Object callableId,
CallProtocol callProtocol,
java.util.Map args)
MetaobjectProtocol
Object callable = get(target, callableId);
if(callable instanceof Results) {
return callable;
}
return call(callable, args);
call in interface MetaobjectProtocoltarget - the target objectcallableId - the ID of the method to callcallProtocol - a marshaller that should be used by this
metaobject protocol to convert the arguments to conform to expected
argument types for the call.args - the arguments of the call
BaseMetaobjectProtocol.Results#noAuthority as this MOP has no concept of callables
public BaseMetaobjectProtocol.Results delete(java.lang.Object target,
long propertyId)
delete in interface MetaobjectProtocoltarget - the list to remove element frompropertyId - the numeric index of the element
BaseMetaobjectProtocol.Results#notDeleteable is returned. If the index is out of
bounds, or the target is not a list, BaseMetaobjectProtocol.Results#noAuthority
is returned.
public BaseMetaobjectProtocol.Results delete(java.lang.Object target,
java.lang.Object propertyId)
delete in interface BaseMetaobjectProtocoltarget - the list to remove element frompropertyId - the numeric index of the element
BaseMetaobjectProtocol.Results#notDeleteable is returned.
If the index is out of bounds, or the target is not a list,
BaseMetaobjectProtocol.Results#noAuthority is returned.
public java.lang.Object get(java.lang.Object target,
long propertyId)
get in interface MetaobjectProtocoltarget - the list to retrieve frompropertyId - the numeric index of the element
BaseMetaobjectProtocol.Results#noAuthority is returned.
public java.lang.Object get(java.lang.Object target,
java.lang.Object propertyId)
get in interface CallProtocoltarget - the list to retrieve frompropertyId - the numeric index of the element
Number.longValue(), returns it. If the index is out of bounds,
or it is not an instance of Number, or the target is not a list,
BaseMetaobjectProtocol.Results#noAuthority is returned.
public java.lang.Boolean has(java.lang.Object target,
long propertyId)
has in interface MetaobjectProtocoltarget - the listpropertyId - the index
Boolean.TRUE. If it is not valid, or the target is not a list,
returns null (meaning, no authority).
public java.lang.Boolean has(java.lang.Object target,
java.lang.Object propertyId)
has in interface BaseMetaobjectProtocoltarget - the listpropertyId - the index
Number.longValue() of propertyId is a valid index for
this list, returns Boolean.TRUE. If it is not valid, or the
target is not a list, or propertyId is not a Number, returns
null (meaning, no authority).public java.util.Iterator<java.util.Map.Entry> properties(java.lang.Object target)
properties in interface BaseMetaobjectProtocoltarget - the list
Integer objects.
The iterator does not support removal.public java.util.Iterator<? extends java.lang.Object> propertyIds(java.lang.Object target)
propertyIds in interface MetaobjectProtocoltarget - the list
Integer objects).
The iterator does not support removal.
public BaseMetaobjectProtocol.Results put(java.lang.Object target,
long propertyId,
java.lang.Object value,
CallProtocol callProtocol)
put in interface MetaobjectProtocoltarget - the list to put the element intopropertyId - the numeric index of the elementcallProtocol - not usedvalue - the new value for the property
BaseMetaobjectProtocol.Results#ok if the put was successful. If the list is
read-only (throws a UnsupportedOperationException on put
attempt), BaseMetaobjectProtocol.Results#notWritable is returned. If the index is
out of bounds, or the target is not a list, BaseMetaobjectProtocol.Results#noAuthority
is returned. If the list throws ClassCastException (because it
is limited in types of values it can accept),
BaseMetaobjectProtocol.Results#noRepresentation is returned.
public BaseMetaobjectProtocol.Results put(java.lang.Object target,
java.lang.Object propertyId,
java.lang.Object value,
CallProtocol callProtocol)
put in interface BaseMetaobjectProtocoltarget - the list to put the element intopropertyId - the numeric index of the element. If this argument is
a Number, it's Number.longValue() method is used.callProtocol - not usedvalue - the new value for the property
BaseMetaobjectProtocol.Results#ok if the put was successful. If the list is
read-only (throws a UnsupportedOperationException on put
attempt), BaseMetaobjectProtocol.Results#notWritable is returned. If the index is
out of bounds, or is not a Number, or the target is not a list,
BaseMetaobjectProtocol.Results#noAuthority is returned. If the list throws
ClassCastException (because it is limited in types of values it
can accept), BaseMetaobjectProtocol.Results#noRepresentation is returned.
public java.lang.Object representAs(java.lang.Object object,
java.lang.Class targetClass)
CallProtocol
representAs in interface CallProtocolobject - the object to representtargetClass - the target class for representation.
BaseMetaobjectProtocol.Results#noAuthority as this MOP has no concept of type
conversion
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||