org.apache.xmlbeans.impl.tool

## Class BaseSchemaResourceManager

- java.lang.Object
- - org.apache.xmlbeans.impl.tool.SchemaImportResolver
  - - org.apache.xmlbeans.impl.tool.BaseSchemaResourceManager

- Direct Known Subclasses:
    SchemaResourceManager

      public abstract class BaseSchemaResourceManager
      extends SchemaImportResolver

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BaseSchemaResourceManager()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `deleteFile(String filename)` Deletes a file.
    `protected abstract boolean` | `fileExists(String filename)` Returns true if the given filename exists.
    `protected abstract String[]` | `getAllXSDFilenames()` Returns a list of all the XSD filesnames in the project.
    `protected String` | `getDefaultSchemaDir()`
    `protected String` | `getIndexFilename()`
    `protected void` | `init()`
    `protected abstract InputStream` | `inputStreamForFile(String filename)` Gets the data in the given filename as an InputStream.
    `SchemaImportResolver.SchemaResource` | `lookupResource(String nsURI, String schemaLocation)` Called when the ImportLoader wishes to resolve the given import.
    `void` | `process(String[] uris, String[] filenames, boolean sync, boolean refresh, boolean imports)`
    `void` | `processAll(boolean sync, boolean refresh, boolean imports)`
    `void` | `reportActualNamespace(SchemaImportResolver.SchemaResource rresource, String actualNamespace)` Updates actual namespace in the table.
    `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.
    `protected abstract void` | `warning(String msg)` Produces diagnostic messages such as "downloading X to file Y".
    `void` | `writeCache()`
    `protected abstract void` | `writeInputStreamToFile(InputStream input, String filename)` Writes an entire file in one step.

    - ### Methods inherited from class org.apache.xmlbeans.impl.tool.SchemaImportResolver

      `resolveImports`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BaseSchemaResourceManager

          protected BaseSchemaResourceManager()

  - ### Method Detail

    - #### init

          protected final void init()

    - #### writeCache

          public final void writeCache()
                                throws IOException

      Throws:
        `IOException`

    - #### 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`

    - #### reportActualNamespace

          public void reportActualNamespace(SchemaImportResolver.SchemaResource rresource,
                                            String actualNamespace)

      Updates actual namespace in the table.
      Specified by:
        `reportActualNamespace` 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.

    - #### inputStreamForFile

          protected abstract InputStream inputStreamForFile(String filename)
                                                     throws IOException

      Gets the data in the given filename as an InputStream.
      Throws:
        `IOException`

    - #### 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.