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
-
-
-
-
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 classSchemaImportResolver
-
reportActualNamespace
public void reportActualNamespace(SchemaImportResolver.SchemaResource rresource, String actualNamespace)
Updates actual namespace in the table.- Specified by:
reportActualNamespace
in classSchemaImportResolver
-
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.
-
-