Class BaseSchemaResourceManager

    • Constructor Detail

      • BaseSchemaResourceManager

        protected BaseSchemaResourceManager()
    • Method Detail

      • init

        protected final void init()
      • processAll

        public final void processAll​(boolean sync,
                                     boolean refresh,
                                     boolean imports)
      • process

        public final void process​(String[] uris,
                                  String[] filenames,
                                  boolean sync,
                                  boolean refresh,
                                  boolean imports)
      • syncCacheWithLocalXsdFiles

        public final void syncCacheWithLocalXsdFiles​(String[] filenames,
                                                     boolean deleteOnlyMentioned)
        Adds items to the cache that point to new files that aren't described in the cache, and optionally deletes old entries.

        If an old file is gone and a new file is found with exactly the same contents, the cache entry is moved to point to the new file.

      • lookupResource

        public SchemaImportResolver.SchemaResource lookupResource​(String nsURI,
                                                                  String schemaLocation)
        Called when the ImportLoader wishes to resolve the given import. Should return a SchemaResource whose "equals" relationship reveals when a SchemaResource is duplicated and shouldn't be examined again.

        Returns null if the resource reference should be ignored.

        Specified by:
        lookupResource in class SchemaImportResolver
      • getIndexFilename

        protected String getIndexFilename()
      • getDefaultSchemaDir

        protected String getDefaultSchemaDir()
      • warning

        protected abstract void warning​(String msg)
        Produces diagnostic messages such as "downloading X to file Y".
      • fileExists

        protected abstract boolean fileExists​(String filename)
        Returns true if the given filename exists. The filenames are of the form "/foo/bar/zee.xsd" and should be construed as rooted at the root of the project.
      • writeInputStreamToFile

        protected abstract void writeInputStreamToFile​(InputStream input,
                                                       String filename)
                                                throws IOException
        Writes an entire file in one step. An InputStream is passed and copied to the file.
        Throws:
        IOException
      • deleteFile

        protected abstract void deleteFile​(String filename)
        Deletes a file. Sometimes immediately after writing a new file we notice that it's exactly the same as an existing file and we delete it. We never delete a file that was given to us by the user.
      • getAllXSDFilenames

        protected abstract String[] getAllXSDFilenames()
        Returns a list of all the XSD filesnames in the project.