All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jwall.apache.httpd.config.LineDirective Maven / Gradle / Ivy

The newest version!
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *
 *   Copyright (C) 2010-2014 Christian Bockermann 
 *    
 *   This file is part of the jwall.org apache-config library. The apache-config library is
 *   a parsing library to handle Apache HTTPD configuration files.
 *
 *   More information and documentation for the jwall-tools can be found at
 *   
 *                      http://www.jwall.org/apache-config
 *   
 *   This program is free software; you can redistribute it and/or modify it under
 *   the terms of the GNU General Public License as published by the Free Software
 *   Foundation; either version 3 of the License, or (at your option) any later version.
 *   
 *   This program is distributed in the hope that it will be useful, but WITHOUT ANY
 *   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 *   FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 * 
 *   You should have received a copy of the GNU General Public License along with this 
 *   program; if not, see .
 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
package org.jwall.apache.httpd.config;

import java.io.File;
import java.util.Iterator;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("Directive")
public class LineDirective
    extends AbstractDirective
{
    private static final long serialVersionUID = -4940660904256629850L;

    transient String configLine;
    
    public LineDirective( String line, File file, int lineNum ) throws ParseException {
        super( line, file, lineNum );
        
        String token[] = line.trim().split("\\s+", 2);
        name = token[0];
        if( token.length > 1 ){
            String[] params = token[1].split("\\s+");
            for( String param : params )
                args.add( removeQuotes( param.trim() ) );
        }
        
        configLine = line;
    }
    
    public String toXML(){
        
        StringBuffer s = new StringBuffer();
        //s.append( prefix() + "\n" );
        
        s.append( prefix() + "<" + getName() + ">" );
        
        Iterator it = args.iterator();
        while( it.hasNext() ){
            String arg = it.next();
            s.append( arg );
            if( it.hasNext() )
                s.append( " " );
        }
        
        s.append( "" );
         
        return s.toString();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy