add default insert flag
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 28 May 2008 06:53:08 +0000 (08:53 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 28 May 2008 06:53:08 +0000 (08:53 +0200)
src/net/pterodactylus/jsite/project/AbstractEntry.java
src/net/pterodactylus/jsite/project/Entry.java
src/net/pterodactylus/jsite/project/Project.java

index 4f6e6ed..41449b0 100644 (file)
@@ -19,6 +19,8 @@
 
 package net.pterodactylus.jsite.project;
 
+import java.io.File;
+
 import net.pterodactylus.util.beans.AbstractBean;
 
 /**
@@ -43,6 +45,9 @@ public abstract class AbstractEntry extends AbstractBean implements Entry {
        /** The name of the file. */
        private String name;
 
+       /** The default insert flag for this entry. */
+       private boolean defaultInsert;
+
        /** Whether to insert the file. */
        private boolean insert;
 
@@ -70,6 +75,25 @@ public abstract class AbstractEntry extends AbstractBean implements Entry {
        /**
         * {@inheritDoc}
         */
+       public boolean isDefault() {
+               return (insert == defaultInsert) && (contentType == null);
+       }
+
+       /**
+        * Sets the default insert flag for this entry. The default insert flag is
+        * derived from {@link File#isHidden()}.
+        * 
+        * @param defaultInsert
+        *            <code>true</code> if the default for this entry is to insert
+        *            it, <code>false</code> otherwise
+        */
+       void setDefaultInsert(boolean defaultInsert) {
+               this.defaultInsert = defaultInsert;
+       }
+
+       /**
+        * {@inheritDoc}
+        */
        public String getName() {
                return name;
        }
index 9b3c521..8f3783b 100644 (file)
@@ -39,6 +39,14 @@ public interface Entry {
        public boolean isVirtual();
 
        /**
+        * Returns whether this entry still has its default settings.
+        * 
+        * @return <code>true</code> if this entry has not been changed by the
+        *         user, <code>false</code> otherwise
+        */
+       public boolean isDefault();
+
+       /**
         * Returns the name of the file. The name can contain multiple path
         * components, separated by the platform’s {@link File#separatorChar}. It
         * will never start with a separator, though.
index c54f211..5c58763 100644 (file)
@@ -297,6 +297,7 @@ public class Project extends AbstractBean {
                        PhysicalEntry entry = new PhysicalEntry();
                        entry.setName(fileName);
                        entry.setPath(file.getPath());
+                       entry.setDefaultInsert(!file.isHidden());
                        entry.setInsert(!file.isHidden());
                        entries.add(entry);
                }