[jboss-as7-dev] Detyped API document feedback
David M. Lloyd
david.lloyd at redhat.com
Tue Jan 4 17:39:32 EST 2011
On 01/04/2011 04:15 PM, Brian Stansberry wrote:
>> The registry of operations should be external to the model itself; it
>> would be a map with a key that corresponds to the operation name plus a
>> "path" specification to the applicable node type.
>
> Yes, that's the way it's meant to work.
>
> There are 2 key differences in what I see you describing vs the client
> side view of a ManagedResource described on the wiki article:
>
> 1) A ModelNode sent from the server to the client (e.g. via your "read"
> operation below) would not include any complex metainformation -- no
> equivalent to MBeanAttributeInfo, MBeanOperationInfo, etc. Instead, a
> user interested in that kind of metainformation would execute a
> different operation to get it.
>
> I think that's good.
>
> 2) There's no distinction between an "attribute" and another entity
> that's in a parent-child relationship. What that means in practical
> terms is the "read" operation you describe executed with address
> "base=domain" would pull down the whole model, with no simple way to
> just pull down the attributes of the parent and not the
> separately-addressable children.
>
> Thinking about it though, that's probably ok. People are almost always
> going to want to read a single attribute or a whole subtree.
Yeah that was my thinking. If it turns out not to be the case, then we
could possibly add a "prune" flag to the read operation or something, or
revisit it in some other way.
>> Some operations (like
>> "read") would be generic and would apply to any node path, where some
>> (like the example above) would be highly specific.
>>
>
> We'll have to have rules for this such that there is no ambiguity about
> what operation is meant (i.e. there can't be a "read" operation
> associated with some subsystem address.) I think that means a limited
> set of operations like "read" that are global to all addresses and whose
> names are reserved. Everything else is like your example above.
Maybe. It might be handy to be able to override operations; or it might
just cause trouble. If the former, we can use a "most-specific-match"
algorithm for operations. If the latter, we can use some mutual
exclusion algorithm where operations *may* have the same names but not
if they overlap in any way. That way we can have a uniform rule without
having to reserve names (which can be tricky later on if you want to add
more names to your "reserved" list).
Now that you mention it, I think maybe you're right, and we should
prevent overlapping operations.
>> Of course this bypasses the other half of the problem which is
>> describing the model and available the operations. But, by having a
>> special value type for representing a value type,
>
> Do you mean "a special value for representing a value type"? What you
> describe below looks like an ordinary value with a well-known structure.
I just mean that there is a value type whose ValueType is VALUE_TYPE. I
guess you could say "a special value called VALUE_TYPE for representing
a value type of ValueType".
--
- DML
More information about the jboss-as7-dev
mailing list