001/*
002 * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
003 * 
004 * http://www.izforge.com/izpack/
005 * http://developer.berlios.de/projects/izpack/
006 * 
007 * Copyright 2001 Johannes Lehtinen
008 * 
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *     http://www.apache.org/licenses/LICENSE-2.0
014 *     
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 */
021
022package com.izforge.izpack;
023
024import java.io.Serializable;
025import java.util.List;
026
027/**
028 * Encloses information about a parsable file. This class abstracts the way the information is
029 * stored to package.
030 * 
031 * @author Johannes Lehtinen <johannes.lehtinen@iki.fi>
032 */
033public class ParsableFile implements Serializable
034{
035
036    static final long serialVersionUID = -7761309341843715721L;
037
038    /** The file path */
039    public String path = null;
040
041    /** The file type (or null for default) */
042    public String type = null;
043
044    /** The file encoding (or null for default) */
045    public String encoding = null;
046
047    /** The list of OS constraints limiting file installation. */
048    public List osConstraints = null;
049
050    /**
051     * Constructs and initializes a new instance.
052     * 
053     * @param path the file path
054     * @param type the file type (or null for default)
055     * @param encoding the file encoding (or null for default)
056     * @param osConstraints the OS constraint (or null for any OS)
057     */
058    public ParsableFile(String path, String type, String encoding, List osConstraints)
059    {
060        this.path = path;
061        this.type = type;
062        this.encoding = encoding;
063        this.osConstraints = osConstraints;
064    }
065
066}