public abstract class SandboxUpdateSupport
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
SandboxUpdateSupport()
Constructs a service that may update all repositories and can be invoked
any time in the process.
|
protected |
SandboxUpdateSupport(java.util.List<java.lang.String> reposIdList)
Constructs a service that may update a specific list of repositories.
|
protected |
SandboxUpdateSupport(java.util.List<java.lang.String> reposIdList,
java.util.List<java.lang.String> prereqNamePatterns)
Constructs a service.
|
Modifier and Type | Method and Description |
---|---|
static java.util.List<SandboxUpdateSupport> |
getInstances()
Returns the list of instances in the system in the order of invocation.
|
abstract SandboxUpdater |
getSandboxUpdater(java.util.List<SandboxUpdatePatchInfo> patchInfos)
Returns an updater for a list of patches.
|
SandboxUpdater |
getSandboxUpdater(SandboxUpdatePatchInfo patchInfo)
Returns an updater for a patch.
|
java.util.List<java.lang.String> |
getSupportedRepositories()
Returns the IDs of the list of repositories this service supports.
|
SandboxUpdateErrorInfo |
readErrorInfo(SandboxUpdatePatchInfo patchInfo,
java.io.Reader reader)
Reads an
SandboxUpdater.ErrorInfo object. |
void |
writeErrorInfo(SandboxUpdatePatchInfo patchInfo,
SandboxUpdateErrorInfo errorInfo,
java.io.Writer writer)
Writes an
SandboxUpdater.ErrorInfo object. |
protected SandboxUpdateSupport(java.util.List<java.lang.String> reposIdList, java.util.List<java.lang.String> prereqNamePatterns)
reposIdList
- the list of the IDs of the repositories this service
may update; null
or an empty list if the
updaters returned by this service should always be
called regardless of the contents of the sandbox to be
updatedprereqNamePatterns
- a list of regular expression patterns matching
the names of the SandboxUpdateSupport
classes that must be invoked before this class,
null
or an empty list if this class can be
invoked any time in the process. Examples of the name
patterns:
"oracle.jbo."
:
"^\\Qoracle.jbo.\\E.+"
"\\Qoracle.jbo.upgrade.SandboxUpgrader\\E"
"oracle.jbo."
or
"oracle.bc4j."
, etc.:
"^oracle\\.(jbo|bc4j|adf|adfinternal)\\..+"
protected SandboxUpdateSupport()
protected SandboxUpdateSupport(java.util.List<java.lang.String> reposIdList)
reposIdList
- the list of IDs of the repositories that may be updated
by this servicepublic final java.util.List<java.lang.String> getSupportedRepositories()
public abstract SandboxUpdater getSandboxUpdater(java.util.List<SandboxUpdatePatchInfo> patchInfos)
patchInfos
- the list of patches in order where the first element is
the latest patchnull
if there is no relevant updater for the given
list of patchespublic final SandboxUpdater getSandboxUpdater(SandboxUpdatePatchInfo patchInfo)
patchInfo
- the information of the patchpublic void writeErrorInfo(SandboxUpdatePatchInfo patchInfo, SandboxUpdateErrorInfo errorInfo, java.io.Writer writer) throws java.io.IOException
SandboxUpdater.ErrorInfo
object. Subclasses may
override this method to handle subtypes of
SandboxUpdateErrorInfo
in addition to the information from
the base type. The SandboxUpdateErrorInfo
object either
comes from a SandboxUpdateException
thrown by a
SandboxUpdater
provided by this class, or a generic one that
represents an unexpected error. When overridden, the implementation must
handle all SandboxUpdater.ErrorInfo
objects. Subclasses that
override this method must also override readErrorInfo
. A
SandboxUpdater.ErrorInfo
written by a subclass will only be
restored by calling readErrorInfo
of the same class.patchInfo
- the information of the patch for which the update error
occurs. If the error is the result of updating a sandbox
for multiple patches, this method will only be called for
the latest patch.errorInfo
- the error to be writtenwriter
- the writer to be used to write the objectjava.io.IOException
- if an error occurs while writing the objectreadErrorInfo(oracle.adf.share.sandbox.update.SandboxUpdatePatchInfo, java.io.Reader)
public SandboxUpdateErrorInfo readErrorInfo(SandboxUpdatePatchInfo patchInfo, java.io.Reader reader) throws java.io.IOException
SandboxUpdater.ErrorInfo
object. Subclasses may
override this method to handle subtypes of
SandboxUpdateErrorInfo
in addition to the information from
the base type.patchInfo
- the information of the patch for which the update error
occurs. If the error is the result of updating a sandbox
for multiple patches, this method will only be called for
the latest patch.reader
- the reader to read the object fromjava.io.IOException
- if an error occurs while reading the objectpublic static java.util.List<SandboxUpdateSupport> getInstances()