org.apache.xmlbeans.impl.tool
Class BaseSchemaResourceManager

java.lang.Object
  extended by org.apache.xmlbeans.impl.tool.SchemaImportResolver
      extended by org.apache.xmlbeans.impl.tool.BaseSchemaResourceManager
Direct Known Subclasses:
SchemaResourceManager

public abstract class BaseSchemaResourceManager
extends SchemaImportResolver


Constructor Summary
protected BaseSchemaResourceManager()
           
 
Method Summary
protected abstract  void deleteFile(java.lang.String filename)
          Deletes a file.
protected abstract  boolean fileExists(java.lang.String filename)
          Returns true if the given filename exists.
protected abstract  java.lang.String[] getAllXSDFilenames()
          Returns a list of all the XSD filesnames in the project.
protected  java.lang.String getDefaultSchemaDir()
           
protected  java.lang.String getIndexFilename()
           
protected  void init()
           
protected abstract  java.io.InputStream inputStreamForFile(java.lang.String filename)
          Gets the data in the given filename as an InputStream.
 SchemaImportResolver.SchemaResource lookupResource(java.lang.String nsURI, java.lang.String schemaLocation)
          Called when the ImportLoader wishes to resolve the given import.
 void process(java.lang.String[] uris, java.lang.String[] filenames, boolean sync, boolean refresh, boolean imports)
           
 void processAll(boolean sync, boolean refresh, boolean imports)
           
 void reportActualNamespace(SchemaImportResolver.SchemaResource rresource, java.lang.String actualNamespace)
          Updates actual namespace in the table.
 void syncCacheWithLocalXsdFiles(java.lang.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(java.lang.String msg)
          Produces diagnostic messages such as "downloading X to file Y".
 void writeCache()
           
protected abstract  void writeInputStreamToFile(java.io.InputStream input, java.lang.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 java.io.IOException
Throws:
java.io.IOException

processAll

public final void processAll(boolean sync,
                             boolean refresh,
                             boolean imports)

process

public final void process(java.lang.String[] uris,
                          java.lang.String[] filenames,
                          boolean sync,
                          boolean refresh,
                          boolean imports)

syncCacheWithLocalXsdFiles

public final void syncCacheWithLocalXsdFiles(java.lang.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(java.lang.String nsURI,
                                                          java.lang.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,
                                  java.lang.String actualNamespace)
Updates actual namespace in the table.

Specified by:
reportActualNamespace in class SchemaImportResolver

getIndexFilename

protected java.lang.String getIndexFilename()

getDefaultSchemaDir

protected java.lang.String getDefaultSchemaDir()

warning

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


fileExists

protected abstract boolean fileExists(java.lang.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 java.io.InputStream inputStreamForFile(java.lang.String filename)
                                                   throws java.io.IOException
Gets the data in the given filename as an InputStream.

Throws:
java.io.IOException

writeInputStreamToFile

protected abstract void writeInputStreamToFile(java.io.InputStream input,
                                               java.lang.String filename)
                                        throws java.io.IOException
Writes an entire file in one step. An InputStream is passed and copied to the file.

Throws:
java.io.IOException

deleteFile

protected abstract void deleteFile(java.lang.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 java.lang.String[] getAllXSDFilenames()
Returns a list of all the XSD filesnames in the project.