[ 
https://issues.apache.org/jira/browse/PIVOT-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351072#comment-16351072
 ] 

Roger Whitcomb commented on PIVOT-1027:
---------------------------------------

First cut at this annotation and some uses:

Adding core\src\org\apache\pivot\annotations
Adding core\src\org\apache\pivot\annotations\UnsupportedOperation.java
Sending wtk\src\org\apache\pivot\wtk\content\NumericSpinnerData.java
Transmitting file data ..done
Committing transaction...
Committed revision 1823010.

> Add an @UnsupportedOperation annotation that can be used to mark methods that 
> always throw UnsupportedOperationException when called
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PIVOT-1027
>                 URL: https://issues.apache.org/jira/browse/PIVOT-1027
>             Project: Pivot
>          Issue Type: Improvement
>          Components: core
>            Reporter: Roger Whitcomb
>            Assignee: Roger Whitcomb
>            Priority: Minor
>
> This can be used to annotate (primarily in Javadoc) those methods, presumable 
> defined by an interface so they must be implemented, but which make no sense 
> in the specific implementation.  There are numerous examples, but a few 
> should suffice:
>  * NumericSpinnerData has a fixed range of values specified by the lower and 
> upper bounds, so the "remove(...)", "clear()", "add(...)", or "update(...)" 
> methods of the List<T> interface don't apply.
>  * Various iterators backed by other lists (such as VisibleNodeIterator of 
> TerraTreeViewSkin) doesn't support the "remove(...)" method for whatever 
> reason, even though it is specified in the Iterator interface.
>  * TabButton (part of TerraTabPaneSkin) is a subclass of Button, but many 
> methods are unsupported because of its unique structure (such as 
> "setTriState", "setButtonData", etc.)
>  * ImageNode (one of the unique children of TextPane) always holds a single 
> image, so the "insertRange" and "removeRange" methods make no sense.
> Note: this annotation does nothing, and is not retained at runtime, and 
> really should be in the Java language (see 
> [https://bugs.openjdk.java.net/browse/JDK-6447051] for instance), but it 
> makes documentation of unsupported operations a bit clearer at no real cost.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to