001    /*
002     * ----------------------------------------------------------------------
003     * Copyright (C) 2009 Enrique Lara (k957@68k.org)
004     *
005     * TinLizard is free software; you can redistribute it and/or
006     * modify it under the terms of the GNU Lesser General Public License
007     * as published by the Free Software Foundation; either version 3.0
008     * of the License, or (at your option) any later version.
009     *
010     * TinLizard is distributed in the hope that it will be useful,
011     * but WITHOUT ANY WARRANTY; without even the implied warranty of
012     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013     * GNU Lesser General Public License for more details.
014     *
015     * You should have received a copy of the GNU Lesser General Public License
016     * along with TinLizard. If not, see http://www.gnu.org/licenses/.
017     * ----------------------------------------------------------------------
018     */
019    package tinlizard.web;
020    
021    import tinlizard.model.Codeline;
022    
023    import tinlizard.util.Messages;
024    
025    import java.util.Collection;
026    
027    import org.jvnet.localizer.Localizable;
028    
029    import org.kohsuke.stapler.export.Exported;
030    
031    /**
032     * Web Accessible Codeline Collection.
033     */
034    public final class CodelineCollectionWeb extends ObjectCollectionWeb {
035        public CodelineCollectionWeb(final Collection<Codeline> c, final Localizable name) {
036            super(name);
037    
038            if (c == null) {
039                throw new IllegalStateException(Messages.error_1013());
040            }
041    
042            if (name == null) {
043                throw new IllegalStateException(Messages.error_1014());
044            }
045    
046            for (Codeline o : c) {
047                getSubject().add(o);
048                getDelegate().add(new CodelineWeb(o));
049            }
050        }
051    
052        @Exported(visibility = 1)
053        public CodelineCollectionWeb getCodelines() {
054            return this;
055        }
056    }