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