Author: Luca Zanini

  • Spinner menu

    The spinner menu is a navigation mode that allows you to switch from one view to another using a drop down menu. The advantage of using the spinner menu consists in a more compact design because it does not require a dedicated tab bar, but it uses the bar already commonly used for the title…

  • The Dojo attributes toolbarType and toolbar of a Rich Rext control in the XPages

    The Rich Text control of a xpage is derived from CKEditor from lotus 8.5.2, however in previous versions it was a Dojo rich text editor. A CKEditor control just created in a xpage doesn’t have Dojo attribute explicitly defined as shown in the figure below:

  • PropertyEditors in Spring 3

    PropertyEditor is an interface that provides a support for the conversion of the value of a property (usually of type String) in an object that can be Date, URL, etc.

  • Overriding the equals() and hashCode() methods

    The equals() method is inherited from the superclass Object and determines if two instances are equal or equivalent. Usually this method should be overridden because the equals() method of the Object class is equivalent to the operator ==, which returns true if and only if the two references refer to the same object.

  • The merge tag

    The merge tag allows you to avoid an unnecessary use of nested layouts when you use the include tag.

  • Displaying errors in xpages

    During the development of a lotus application with XPages is very useful to show the runtime errors on the XPages, to enable this feature check the “Display XPage runtime error page” under the tab XPages in Application Properties as shown below:

  • Executing code on the creation or destruction of a bean in Spring

    There are 3 ways to execute code to create a bean in Spring: with the annotation @PostConstruct implementing the interface InitializingBean configuring the property init-method The reason why you run code when you create a bean is often to check the dependencies, and assign a default value, or automated actions such as starting a scheduled…

  • Tabs and swipe views

    In the post Tab Layout in Android with ActionBar and Fragment I explain how to implement tabs and in the post Swipe views I explain how to implement the swipe views or scrolling tabs using the ViewPager of the Compatibility Package. In this post I explain how to implement 3 tabs that look like those…

  • The Comparator interface

    In the previous post about the Comparable interface I explained how you can extend a class of objects that implement the Comparable interface and then order them in a list according to the logic defined in the overridden method compareTo. If you want to be able to sort the list according to a number of…

  • The Comparable interface

    A List contains objects that you can order according to a natural order using the static method Collections.sort(List list) if the objects implement the Comparable interface.