@@ -0,0 +1,2148 @@
+/*-%0A * Copyright (c) 2014 Red Hat, Inc.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.fedoraproject.xmvn.tools.install.impl;%0A%0Aimport java.nio.file.Path;%0A%0A/**%0A * An abstract class denoting a file entry in a package with all relevant attributes.%0A * %3Cp%3E%0A * A file does not necessairly mean a regular file, it could be for example a directory or a device file.%0A * %0A * @author Mikolaj Izdebski%0A */%0Aabstract class File%0A%7B%0A    /**%0A     * Path to target file. This path must be relative to buildroot (must not be absolute).%0A     */%0A    private final Path targetPath;%0A%0A    /**%0A     * Unix access mode (an integer in range from 0 to 0777).%0A     */%0A    private final int accessMode;%0A%0A    /**%0A     * Create a file object with specified path and default access mode of 0644.%0A     * %0A     * @param targetPath%0A     */%0A    public File( Path targetPath )%0A    %7B%0A        this( targetPath, 0644 );%0A    %7D%0A%0A    /**%0A     * Create a file object with specified path and access mode.%0A     * %0A     * @param targetPath%0A     * @param accessMode%0A     */%0A    public File( Path targetPath, int accessMode )%0A    %7B%0A        this.targetPath = targetPath;%0A        this.accessMode = accessMode;%0A    %7D%0A%0A    /**%0A     * Return path to target file. Returned patjh is always relative to buildroot (never absolute).%0A     * %0A     * @return file target path (never %7B@code null%7D)%0A     */%0A    public Path getTargetPath()%0A    %7B%0A        return targetPath;%0A    %7D%0A%0A    /**%0A     * Get Unix access mode for this file.%0A     * %0A     * @return Unix access mode (an integer in range from 0 to 0777)%0A     */%0A    public int getAccessMode()%0A    %7B%0A        return accessMode;%0A    %7D%0A%7D%0A

Add File class