Class WebSite

    • Constructor Detail

      • WebSite

        public WebSite()
    • Method Detail

      • getURL

        public WebURL getURL()
        Returns the URL.
      • setURL

        protected void setURL​(WebURL aURL)
        Sets the URL.
      • getURLString

        public java.lang.String getURLString()
        Returns the URL root.
      • getName

        public java.lang.String getName()
        Returns the name for this data source.
      • getHostName

        public java.lang.String getHostName()
        Returns the host name.
      • getPath

        public java.lang.String getPath()
        Returns the data source name-space and name in standard path form.
      • getUserName

        public java.lang.String getUserName()
        Returns the user name.
      • setUserName

        public void setUserName​(java.lang.String aName)
        Sets the user name.
      • getPassword

        public java.lang.String getPassword()
        Returns the password.
      • setPassword

        public void setPassword​(java.lang.String aPassword)
        Sets the password.
      • getExists

        public boolean getExists()
        Returns whether data source exists.
      • getRootDirectory

        public WebFile getRootDirectory()
        Returns the root directory.
      • getRequest

        public Request getRequest​(WebURL aURL)
        Returns a request object for a URL.
      • getResponse

        public Response getResponse​(Request aRequest)
        Returns a response instance for a request.
      • handleHead

        protected Response handleHead​(Request aRequest)
        Handles a head request.
      • handleGet

        protected Response handleGet​(Request aRequest)
        Handle a get request.
      • handlePut

        protected Response handlePut​(Request aRequest)
        Handle a PUT request.
      • handleDelete

        protected Response handleDelete​(Request aRequest)
        Handle a DELETE request.
      • createFile

        public WebFile createFile​(java.lang.String aPath,
                                  boolean isDirectory)
        Returns a new file at the given path, regardless of whether it exists in the data source.
      • getFile

        public WebFile getFile​(java.lang.String aPath)
        Returns the individual file with the given path.
      • createFileImpl

        protected WebFile createFileImpl​(java.lang.String aPath,
                                         boolean isDirectory)
        Creates a new file.
      • getFileImpl

        protected WebFile getFileImpl​(java.lang.String aPath)
                               throws java.lang.Exception
        Returns a data source file for given path (if file exists).
        Throws:
        java.lang.Exception
      • getFilesImpl

        protected java.util.List<WebFile> getFilesImpl​(WebFile aFile)
                                                throws java.lang.Exception
        Returns a list of files at path.
        Throws:
        java.lang.Exception
      • getFileBytesImpl

        protected byte[] getFileBytesImpl​(WebFile aFile)
                                   throws java.lang.Exception
        Returns file bytes.
        Throws:
        java.lang.Exception
      • saveFileImpl

        protected void saveFileImpl​(WebFile aFile)
                             throws java.lang.Exception
        Saves a file.
        Throws:
        java.lang.Exception
      • deleteFileImpl

        protected void deleteFileImpl​(WebFile aFile)
                               throws java.lang.Exception
        Deletes a file.
        Throws:
        java.lang.Exception
      • refreshFile

        public void refreshFile​(WebFile aFile)
        Revert file from saved version.
      • refreshFileImpl

        protected void refreshFileImpl​(WebFile aFile)
                                throws java.lang.Exception
        Reverts a file.
        Throws:
        java.lang.Exception
      • getModifiedTime

        public long getModifiedTime​(WebFile aFile)
        Returns the modified time for a file to underlying file system.
      • setModifiedTime

        public void setModifiedTime​(WebFile aFile,
                                    long aTime)
                             throws java.lang.Exception
        Saves the modified time for a file to underlying file system.
        Throws:
        java.lang.Exception
      • setModifiedTimeImpl

        protected void setModifiedTimeImpl​(WebFile aFile,
                                           long aTime)
                                    throws java.lang.Exception
        Saves the modified time for a file to underlying file system.
        Throws:
        java.lang.Exception
      • setExists

        protected void setExists​(WebFile aFile,
                                 boolean aValue)
        Sets whether a file exists.
      • getStandardFile

        protected java.io.File getStandardFile​(WebFile aFile)
        Returns a standard java.io.File, if available.
      • getURL

        public WebURL getURL​(java.lang.String aPath)
        Returns a URL for the given file path.
      • createURL

        protected WebURL createURL​(java.lang.String aURL)
        Creates a URL for string.
      • createSite

        public void createSite()
                        throws java.lang.Exception
        Creates the data site remote site (database, directory file, etc.).
        Throws:
        java.lang.Exception
      • deleteSite

        public void deleteSite()
                        throws java.lang.Exception
        Deletes this data site, assuming it corresponds to something that can be deleted, like a database.
        Throws:
        java.lang.Exception
      • getSchema

        public Schema getSchema()
        Returns the schema of represented WebSite as a hierarchy of RMEntity and RMProperty objects.
      • createSchema

        protected Schema createSchema()
        Creates the schema.
      • createEntity

        public Entity createEntity​(java.lang.String aName)
        Creates an entity for given name.
      • createEntityImpl

        protected Entity createEntityImpl​(java.lang.String aName)
        Returns the entity for given name.
      • getEntity

        public Entity getEntity​(java.lang.String aName)
        Returns the entity for given name.
      • getEntityImpl

        protected Entity getEntityImpl​(java.lang.String aName)
                                throws java.lang.Exception
        Returns the entity for given name.
        Throws:
        java.lang.Exception
      • saveEntity

        public void saveEntity​(Entity anEntity)
                        throws java.lang.Exception
        Saves the given entity.
        Throws:
        java.lang.Exception
      • saveEntityImpl

        protected void saveEntityImpl​(Entity anEntity)
                               throws java.lang.Exception
        Saves the given entity.
        Throws:
        java.lang.Exception
      • deleteEntity

        public void deleteEntity​(Entity anEntity)
                          throws java.lang.Exception
        Saves the given entity.
        Throws:
        java.lang.Exception
      • deleteEntityImpl

        protected void deleteEntityImpl​(Entity anEntity)
                                 throws java.lang.Exception
        Saves the given entity.
        Throws:
        java.lang.Exception
      • getDataTables

        public java.util.List<DataTable> getDataTables()
        Returns the list of known data tables.
      • getDataTable

        public DataTable getDataTable​(java.lang.String aName)
        Returns the DataTable for given name
      • createDataTable

        protected DataTable createDataTable​(java.lang.String aName)
        Returns the DataTable for given name.
      • createDataTableImpl

        @Nonnull
        protected DataTable createDataTableImpl()
        Creates an instance of DataTable.
      • createRow

        @Nonnull
        public Row createRow​(@Nonnull
                             Entity anEntity,
                             @Nullable
                             java.lang.Object aPrimaryValue)
        Returns a row for an entity and primary value that is guaranteed to be unique for this data source.
      • createRow

        @Nonnull
        public Row createRow​(@Nonnull
                             Entity anEntity,
                             @Nullable
                             java.lang.Object aPrimaryValue,
                             java.util.Map aMap)
        Returns a row for an entity and primary value that is guaranteed to be unique for this data source.
      • createRowImpl

        @Nonnull
        protected Row createRowImpl​(Entity anEntity,
                                    java.lang.Object aPrimaryValue)
        Creates a new row for source.
      • getRow

        @Nullable
        public Row getRow​(Entity anEntity,
                          java.lang.Object aPrimaryValue)
        Returns a row for a given entity and primary value.
      • getRowImpl

        @Nullable
        protected Row getRowImpl​(Entity anEntity,
                                 java.lang.Object aPrimaryValue)
        Returns a row for a given entity and primary value.
      • getRow

        @Nullable
        public Row getRow​(Query aQuery)
        Returns a row for given query.
      • getRows

        @Nonnull
        public java.util.List<Row> getRows​(Query aQuery)
        Returns a set of rows for the given properties and condition.
      • getRowsImpl

        @Nonnull
        protected abstract java.util.List<Row> getRowsImpl​(Entity anEntity,
                                                           Query aQuery)
        Returns a set of rows for the given properties and condition.
      • saveRow

        public void saveRow​(Row aRow)
                     throws java.lang.Exception
        Inserts or updates a given row.
        Throws:
        java.lang.Exception
      • saveRowImpl

        protected abstract void saveRowImpl​(Row aRow)
                                     throws java.lang.Exception
        Inserts or updates a given row.
        Throws:
        java.lang.Exception
      • deleteRow

        public void deleteRow​(Row aRow)
                       throws java.lang.Exception
        Deletes a given row.
        Throws:
        java.lang.Exception
      • deleteRowImpl

        protected abstract void deleteRowImpl​(Row aRow)
                                       throws java.lang.Exception
        Deletes a given row.
        Throws:
        java.lang.Exception
      • bulkImport

        public void bulkImport​(java.util.Map<java.lang.String,​java.util.List<java.util.Map>> theMaps)
                        throws java.lang.Exception
        Bulk import.
        Throws:
        java.lang.Exception
      • getProp

        public java.lang.Object getProp​(java.lang.String aKey)
        Returns a file property for key.
      • setProp

        public void setProp​(java.lang.String aKey,
                            java.lang.Object aValue)
        Sets a property for a key.
      • getSandbox

        @Nonnull
        public WebSite getSandbox()
        Returns a WebSite that can be used for storing persistent support files.
      • setSandbox

        public void setSandbox​(WebSite aSandbox)
        Sets a WebSite that can be used for storing persistent support files.
      • createSandbox

        @Nonnull
        protected WebSite createSandbox()
        Creates a WebSite that can be used for storing persistent support files.
      • createSandboxURL

        @Nonnull
        protected WebURL createSandboxURL()
        Creates a WebSite that can be used for storing persistent support files.
      • createSandboxURLS

        protected java.lang.String createSandboxURLS()
        Creates a WebSite that can be used for storing persistent support files.
      • setServlet

        public void setServlet​(WebURL aURL,
                               WebSite.Servlet aServlet)
        Sets a Servlet for URL.
      • getClassLoader

        public WebClassLoader getClassLoader()
        Returns the DataClassLoader.
      • setClassLoader

        public void setClassLoader​(WebClassLoader aClassLoader)
        Sets the DataClassLoader.
      • createClassLoader

        protected WebClassLoader createClassLoader()
        Creates the DataClassLoader.
      • isRunning

        public boolean isRunning()
        Returns whether this data source is running background processes.
      • addDeepChangeListener

        public void addDeepChangeListener​(DeepChangeListener aListener)
        Adds a deep (property) change listener to get notified when this WebSite sees changes (to files).
      • removeDeepChangeListener

        public void removeDeepChangeListener​(DeepChangeListener aListener)
        Removes a deep (property) change listener to get notified when this WebSite sees changes (to files).
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent anEvent)
        Handle property changes on row objects by forwarding to listener.
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • refresh

        public void refresh()
        Clears all cached data in the data source, forcing everything to reload.
      • flush

        public void flush()
                   throws java.lang.Exception
        Flushes any unsaved changes to backing store.
        Throws:
        java.lang.Exception
      • flushImpl

        protected void flushImpl()
                          throws java.lang.Exception
        Flushes any unsaved changes to backing store.
        Throws:
        java.lang.Exception
      • toString

        public java.lang.String toString()
        Standard toString implementation.
        Overrides:
        toString in class RMObject