Package 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 | Description
    --- | --- | ---
    `protected` | `BaseSchemaResourceManager()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | 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.