/*
 *  Licensed to the Apache Software Foundation (ASF) under one
 *  or more contributor license agreements.  See the NOTICE file
 *  distributed with this work for additional information
 *  regarding copyright ownership.  The ASF licenses this file
 *  to you under the Apache License, Version 2.0 (the
 *  "License"); you may not use this file except in compliance
 *  with the License.  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 *
 */
package org.apache.zest.library.fileconfig;

import java.io.File;

public final class FileConfigurationOverride
{

    private File configuration;
    private File data;
    private File temporary;
    private File cache;
    private File log;

    public FileConfigurationOverride withConfiguration( File configuration )
    {
        this.configuration = configuration;
        return this;
    }

    public FileConfigurationOverride withData( File data )
    {
        this.data = data;
        return this;
    }

    public FileConfigurationOverride withTemporary( File temporary )
    {
        this.temporary = temporary;
        return this;
    }

    public FileConfigurationOverride withCache( File cache )
    {
        this.cache = cache;
        return this;
    }

    public FileConfigurationOverride withLog( File log )
    {
        this.log = log;
        return this;
    }

    public File cache()
    {
        return cache;
    }

    public File configuration()
    {
        return configuration;
    }

    public File data()
    {
        return data;
    }

    public File log()
    {
        return log;
    }

    public File temporary()
    {
        return temporary;
    }

}

@@ -890,184 +890,1332 @@
 e;%0A%0A
-public final class FileConfigurationOverride%0A%7B%0A%0A    private File configuration;%0A    private File data;%0A    private File temporary;%0A    private File cache;%0A    private File log;
+/**%0A * Assembly time FileConfiguration override.%0A */%0Apublic final class FileConfigurationOverride%0A%7B%0A    /**%0A     * %7B@literal configuration%7D.%0A     */%0A    public static final String CONVENTIONAL_CONFIGURATION = %22configuration%22;%0A    /**%0A     * %7B@literal data%7D.%0A     */%0A    public static final String CONVENTIONAL_DATA = %22data%22;%0A    /**%0A     * %7B@literal temporary%7D.%0A     */%0A    public static final String CONVENTIONAL_TEMPORARY = %22temporary%22;%0A    /**%0A     * %7B@literal cache%7D.%0A     */%0A    public static final String CONVENTIONAL_CACHE = %22cache%22;%0A    /**%0A     * %7B@literal log%7D.%0A     */%0A    public static final String CONVENTIONAL_LOG = %22log%22;%0A%0A    private File configuration;%0A    private File data;%0A    private File temporary;%0A    private File cache;%0A    private File log;%0A%0A    /**%0A     * With all directories under the given root using conventional names.%0A     * @param root Root file%0A     * @return This%0A     */%0A    public FileConfigurationOverride withConventionalRoot( File root )%0A    %7B%0A        this.configuration = new File( root, CONVENTIONAL_CONFIGURATION );%0A        this.data = new File( root, CONVENTIONAL_DATA );%0A        this.temporary = new File( root, CONVENTIONAL_TEMPORARY );%0A        this.cache = new File( root, CONVENTIONAL_CACHE );%0A        this.log = new File( root, CONVENTIONAL_LOG );%0A        return this;%0A    %7D
 %0A%0A  
@@ -3175,11 +3175,10 @@
 ;%0A    %7D%0A
-%0A
 %7D%0A

introduce convention helper