001    /*
002     * Licensed under the Apache License, Version 2.0 (the "License");
003     * you may not use this file except in compliance with the License.
004     * You may obtain a copy of the License at
005     *
006     *      http://www.apache.org/licenses/LICENSE-2.0
007     *
008     * Unless required by applicable law or agreed to in writing, software
009     * distributed under the License is distributed on an "AS IS" BASIS,
010     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
011     * See the License for the specific language governing permissions and
012     * limitations under the License.
013     */
014    package org.apache.commons.classscan.builtin;
015    
016    import java.io.BufferedInputStream;
017    import java.io.File;
018    import java.io.FileInputStream;
019    import java.io.IOException;
020    import java.io.InputStream;
021    
022    import org.apache.commons.classscan.ResourceFile;
023    
024    public class FileResourceFile implements ResourceFile {
025    
026            private final File location;
027            private final String relativePath;
028    
029            public FileResourceFile(File location, String relativePath) {
030                    this.location = location;
031                    this.relativePath = relativePath;
032            }
033    
034            @Override
035            public String getFileName() {
036                    return relativePath;
037            }
038    
039            @Override
040            public InputStream getBytes() throws IOException {
041            return new BufferedInputStream(new FileInputStream(location));
042            }
043    }