// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public static enum FILE_TYPE {
//     File,
//     Folder,
//     Archive,
//     Executable,
//     Setup,
//     Document,
//     Image,
//     Web,
//     Sound,
//     Video,
//     Custom;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE cast()
//     {
//     	switch(this) {
//     	case File:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.File;
//     	case Folder:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Folder;
//     	case Archive:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Archive;
//     	case Executable:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Executable;
//     	case Setup:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Setup;
//     	case Document:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Document;
//     	case Image:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Image;
//     	case Web:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Web;
//     	case Sound:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Sound;
//     	case Video:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Video;
//     	case Custom:
//     	default:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Custom;
//     	}
//     }
// }
// 
// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public enum INSTALL_TYPE {
//     DEFAULT,
//     COPY,
//     EXTRACT,
//     EXECUTE;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE cast()
//     {
//     	switch(this) {
//     	default:
//     	case DEFAULT:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.DEFAULT;
//     	case COPY:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.COPY;
//     	case EXTRACT:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.EXTRACT;
//     	case EXECUTE:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.EXECUTE;
//     	}
//     }
// }
// 
// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public enum PLATFORM {
//     ALL,
//     WINDOWS,
//     LINUX,
//     MAC;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.PLATFORM cast()
//     {
//     	switch(this) {
//     	default:
//     	case ALL:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.ALL;
//     	case WINDOWS:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.WINDOWS;
//     	case LINUX:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.LINUX;
//     	case MAC:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.MAC;
//     	}
//     }
// }


import java.io.Serializable;
import dcp.logic.factory.TypeFactory.FILE_TYPE;
import dcp.logic.factory.TypeFactory.INSTALL_TYPE;
import dcp.logic.factory.TypeFactory.PLATFORM;
package dcp.logic.model;




public class Pack implements Serializable
{
    /**
     * Write Pack data to save file
     */
    private static final long serialVersionUID = -8775694196832301518L;
    
    //Relations
    public Group group = null;//Pack member of this group
    public String installGroups = "";//Install Groups *
    public Group dependsOnGroup = null;//Group dependency
    public Pack dependsOnPack = null;//Pack dependency
    //Attributes
    public String name = "";//File Name
    public FILE_TYPE fileType = FILE_TYPE.File;//File type
    public double size = 0;//File Size in bytes
    public String path = "";//File Absolute Path
// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public static enum FILE_TYPE {
//     File,
//     Folder,
//     Archive,
//     Executable,
//     Setup,
//     Document,
//     Image,
//     Web,
//     Sound,
//     Video,
//     Custom;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE cast()
//     {
//     	switch(this) {
//     	case File:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.File;
//     	case Folder:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Folder;
//     	case Archive:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Archive;
//     	case Executable:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Executable;
//     	case Setup:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Setup;
//     	case Document:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Document;
//     	case Image:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Image;
//     	case Web:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Web;
//     	case Sound:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Sound;
//     	case Video:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Video;
//     	case Custom:
//     	default:
//     		return com.dcp.sm.logic.factory.TypeFactory.FILE_TYPE.Custom;
//     	}
//     }
// }
// 
// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public enum INSTALL_TYPE {
//     DEFAULT,
//     COPY,
//     EXTRACT,
//     EXECUTE;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE cast()
//     {
//     	switch(this) {
//     	default:
//     	case DEFAULT:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.DEFAULT;
//     	case COPY:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.COPY;
//     	case EXTRACT:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.EXTRACT;
//     	case EXECUTE:
//     		return com.dcp.sm.logic.factory.TypeFactory.INSTALL_TYPE.EXECUTE;
//     	}
//     }
// }
// 
// Path: src/main/java/dcp/logic/factory/TypeFactory.java
// public enum PLATFORM {
//     ALL,
//     WINDOWS,
//     LINUX,
//     MAC;
//         
//     public com.dcp.sm.logic.factory.TypeFactory.PLATFORM cast()
//     {
//     	switch(this) {
//     	default:
//     	case ALL:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.ALL;
//     	case WINDOWS:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.WINDOWS;
//     	case LINUX:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.LINUX;
//     	case MAC:
//     		return com.dcp.sm.logic.factory.TypeFactory.PLATFORM.MAC;
//     	}
//     }
// }


// Path: src/main/java/dcp/logic/model/Pack.java
import java.io.Serializable;
import dcp.logic.factory.TypeFactory.FILE_TYPE;
import dcp.logic.factory.TypeFactory.INSTALL_TYPE;
import dcp.logic.factory.TypeFactory.PLATFORM;

package dcp.logic.model;




public class Pack implements Serializable
{
    /**
     * Write Pack data to save file
     */
    private static final long serialVersionUID = -8775694196832301518L;
    
    //Relations
    public Group group = null;//Pack member of this group
    public String installGroups = "";//Install Groups *
    public Group dependsOnGroup = null;//Group dependency
    public Pack dependsOnPack = null;//Pack dependency
    //Attributes
    public String name = "";//File Name
    public FILE_TYPE fileType = FILE_TYPE.File;//File type
    public double size = 0;//File Size in bytes
    public String path = "";//File Absolute Path
    public INSTALL_TYPE installType = INSTALL_TYPE.COPY;//Install Type