import java.util.List;
import net.pterodactylus.util.beans.AbstractBean;
+import net.pterodactylus.util.io.MimeTypes;
/**
* Container for project information. A Project is capable of notifying
private List<Entry> virtualEntries = new ArrayList<Entry>();
/**
+ * Creates a new project.
+ */
+ public Project() {
+ /* do nothing. */
+ }
+
+ /**
+ * Clones the given project.
+ *
+ * @param project
+ */
+ Project(Project project) {
+ this.name = project.name;
+ this.description = project.description;
+ this.publicKey = project.publicKey;
+ this.privateKey = project.privateKey;
+ this.basePath = project.basePath;
+ this.basePathEntries.addAll(project.basePathEntries);
+ this.virtualEntries.addAll(project.virtualEntries);
+ }
+
+ /**
* Returns the internal ID.
*
* @return The internal ID
PhysicalEntry entry = new PhysicalEntry();
entry.setName(fileName);
entry.setPath(file.getPath());
+ entry.setDefaultInsert(!file.isHidden());
entry.setInsert(!file.isHidden());
+ String extension = fileName.substring(fileName.lastIndexOf('.') + 1);
+ List<String> mimeTypes = MimeTypes.getMimeTypes(extension);
+ if (!mimeTypes.isEmpty()) {
+ entry.setDefaultContentType(mimeTypes.get(0));
+ entry.setContentType(mimeTypes.get(0));
+ }
entries.add(entry);
}
}