Print

Print


I am considering making a change which cannot be handled just with
deprecation.  It's a minor thing but I figured I'd ask the group for
comments about whether or not to make the change.

At present GUIState has a method called isInspectorVolatile(), which
you override if you want your model inspector to be volatile.
Presently all per-object inspectors are volatile.

In preparation for a new per-field inspector, I am considering
modifying this, by moving the volatility-check functionality into the
Inspector itself (adding two non-abstract methods,
Inspector.setVolatile and inspector.isVolatile).  GUIState's
getInspector method will still by default return non-volatile
inspectors.  However if you have overridden this method, your inspector
will of course start out VOLATILE unless you explicitly set it to
non-volatile with an Inspector.setVolatile(false).
isInspectorVolatile() will never be checked.

I will update Tutorial 4 appropriately.

I have two levels of possibility here:

- deprecate isInspectorVolatile and indicate that it is never used.
This will cause some people's model inspectors to start running in
volatile mode (slower) until they change their code to set volatile to
false.

- completely remove isInspectorVolatile to force the issue.  This will
break people's code until they fix it, but the upside is that we won't
have any phantom bugs due to people not reading the new documentation.

I have half a mind to do the second one.  Comments?  Recommendations?

Sean