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

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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.