What is meta file

Meta file means the META-INF/cyclopsgroup/waterview.xml file in classpath in your proejct.

This file tells the system what does you package(jar file) contribute to a waterview system. It defines your GUI package(s), tag libraries and resources. You can think it as plugin.xml file in an eclipse plugin, components.xml file in a plexus component or plugin.jelly file in a maven plugin.

Tag Specification

The XML name space file meta file is http://waterview.cyclopsgroup.com/definition.

Waterview

Name Waterview
Description Root node of meta file
Children TagLibrary*

ModulePackage*

IconSet*

StyleSheet*

Theme*

TagLibrary

Name TagLibrary
Description Jelly Tag Library
Children TagPackage+
Attributes
Name Required Description Type Example
uri true URI of the xml namespace string http://www.mycompany.com/myns
className true Full class name of tag package string com.mycompany.myapp.taglib.MyTagPackage

ModulePackage

Name ModulePackage
Description UI module java package
Attributes
Name Required Description Type Example
alias true Short package name string myapp
name true Full java package name for UI string com.mycompany.myapp.ui

IconSet

Name IconSet
Description A set of icons
Attributes
Name Required Description Type Example
name true Unique name of iconset string myiconset
path true Path in classpath for the iconset resources string /myapp/myiconset
description false Displayable description for this iconset string Iconset for my application

Complete example

This is the complete waterview.xml file in waterview package

                    <?xml version="1.0" encoding="UTF-8"?>
<Waterview xmlns="http://waterview.cyclopsgroup.com/definition">
    <!-- Tag support -->
    <TagLibrary uri="http://waterview.cyclopsgroup.com/ui">
        <TagPackage
            className="com.cyclopsgroup.waterview.core.taglib.CoreTagPackage" />
        <TagPackage
            className="com.cyclopsgroup.waterview.jelly.taglib.JellyTagPackage" />
        <TagPackage
            className="com.cyclopsgroup.waterview.velocity.taglib.VelocityTagPackage" />
        <TagPackage
            className="com.cyclopsgroup.waterview.jsp.taglib.JspTagPackage" />
        <TagPackage
            className="com.cyclopsgroup.waterview.web.taglib.WebTagPackage" />
    </TagLibrary>
    <!-- UI modules -->
    <ModulePackage alias="waterview" name="com.cyclopsgroup.waterview.ui" />
    <!-- Look and feel -->
    <IconSet name="waterview.icons.default" path="/waterview/defaulttheme"
        description="Waterview default icons" />
    <StyleSheet name="waterview.stylesheet.default"
        path="/waterview/defaulttheme/style.css"
        description="Waterview default stylesheet" />
    <Theme name="waterview.theme.default" iconset="waterview.icons.default"
        stylesheet="waterview.stylesheet.default"
        description="Waterview default theme">
        <Layout name="layout.default">
            <JellyLayout script="/waterview/DefaultLayout.jelly" />
        </Layout>
    </Theme>
</Waterview>