001    /*
002     =================== DO NOT EDIT THIS FILE ====================
003     Generated by Modello 1.4.1 on 2012-01-20 18:32:34,
004     any modifications will be overwritten.
005     ==============================================================
006     */
007    
008    package org.apache.maven.usability.plugin;
009    
010    /**
011     * The root of a parameter plugin expression document.
012     * 
013     * @version $Revision$ $Date$
014     */
015    @SuppressWarnings( "all" )
016    public class ExpressionDocumentation
017        implements java.io.Serializable
018    {
019    
020          //--------------------------/
021         //- Class/Member Variables -/
022        //--------------------------/
023    
024        /**
025         * Field expressions.
026         */
027        private java.util.List<Expression> expressions;
028    
029        /**
030         * Field modelEncoding.
031         */
032        private String modelEncoding = "UTF-8";
033    
034    
035          //-----------/
036         //- Methods -/
037        //-----------/
038    
039        /**
040         * Method addExpression.
041         * 
042         * @param expression
043         */
044        public void addExpression( Expression expression )
045        {
046            getExpressions().add( expression );
047        } //-- void addExpression( Expression )
048    
049        /**
050         * Method getExpressions.
051         * 
052         * @return List
053         */
054        public java.util.List<Expression> getExpressions()
055        {
056            if ( this.expressions == null )
057            {
058                this.expressions = new java.util.ArrayList<Expression>();
059            }
060    
061            return this.expressions;
062        } //-- java.util.List<Expression> getExpressions()
063    
064        /**
065         * Get the modelEncoding field.
066         * 
067         * @return String
068         */
069        public String getModelEncoding()
070        {
071            return this.modelEncoding;
072        } //-- String getModelEncoding()
073    
074        /**
075         * Method removeExpression.
076         * 
077         * @param expression
078         */
079        public void removeExpression( Expression expression )
080        {
081            getExpressions().remove( expression );
082        } //-- void removeExpression( Expression )
083    
084        /**
085         * Set the list of plugin parameter expressions described by
086         * this
087         *             document.
088         * 
089         * @param expressions
090         */
091        public void setExpressions( java.util.List<Expression> expressions )
092        {
093            this.expressions = expressions;
094        } //-- void setExpressions( java.util.List )
095    
096        /**
097         * Set the modelEncoding field.
098         * 
099         * @param modelEncoding
100         */
101        public void setModelEncoding( String modelEncoding )
102        {
103            this.modelEncoding = modelEncoding;
104        } //-- void setModelEncoding( String )
105    
106            private java.util.Map expressionsBySyntax;
107    
108        public java.util.Map getExpressionsBySyntax()
109        {
110            if ( expressionsBySyntax == null )
111            {
112                expressionsBySyntax = new java.util.HashMap();
113    
114                java.util.List expressions = getExpressions();
115    
116                if ( expressions != null && !expressions.isEmpty() )
117                {
118                    for ( java.util.Iterator it = expressions.iterator(); it.hasNext(); )
119                    {
120                        Expression expr = (Expression) it.next();
121    
122                        expressionsBySyntax.put( expr.getSyntax(), expr );
123                    }
124                }
125            }
126    
127            return expressionsBySyntax;
128        }
129    
130        public void flushExpressionsBySyntax()
131        {
132            expressionsBySyntax = null;
133        }
134    
135    }