This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
The only way to create a custom Tomahawk tag is to join the Apache Tomahawk project and get accepted as a committer.
You can create your own custom JSF tags, however, and they can interact with Tomahawk (or not) as you prefer.
The process of creating a custom JSF tag is not simple, however. It's quite a bit more complicated than creating a custom JSP tag, since in JSF, you break the functionality into rendering and non-rendering parts, and may have multiple renderers. I got my info for doing this from Kito Mann's "JSF In Action" book.
An IDE is no substitute for an Intelligent Developer.
Srinivasa Murari wrote:I am new to JSF, looking for steps how to create Custom Tomahawk JSF tag.
Preferably, you need a set of classes, and TLD (Tag Library Descriptor Class) and a faces-config XML file for your component.
In my own custom components I usually end up with classes like
MyComponentName - A Component class that extends UICommand, and at the least overrides the methods getFamily, processDecodes and getRendersChildren
MyComponentNameTag - A Component class that is responsible for setting and storing all the attributed that the component has
MyComponent.tld - A Tag Library Descriptor file that describes the component, each and every attribute, its type and purpose (this is sort of like an XML representation of the *Tag class above)
faces-config.xml - The librarys configfile that tells JSF how to weave the classes above together into a component
Then you have other options as well, such as including a *-taglib.xml file so that Facelets can understand the component, etc.
However, if creating components is all new to you, you should read up on it. JSF in Action is a very decent book. The Sun JSF tutorial (Part of the JEE tutorial) is also quite good (IMO), and is the guide from which I learned to write Custom Components.
Its rather hard for anyone on the forum to be specific for your needs, just because you are asking a very wide quiestion, to which there are many different approaches and possible solutions to. There is also a rather decent learning curve involved.