public final class OdiUserProcedure extends OdiProcedure implements oracle.odi.domain.shortcuts.IOdiShortcutable, IOdiScenarioSource, oracle.odi.domain.impexp.IExportable, IProcedureUser, oracle.odi.impexp.smartie.ISmartExportable
An OdiUserProcedure is a set of commands that can be executed by an agent. These commands concern all technologies accessible by Oracle Data Integrator (OS, JDBC, JMS commands, etc).
If an OdiUserProcedure is constructed with a reference object, the OdiUserProcedure will represented a shortcut to
the reference object. When an OdiUserProcedure is used as a shortcut, most properties are accessed through
the base object. The IOdiShortcutable
interface implemented by OdiInterface provides
access and control over the shortcut aspects of this object.
An OdiUserProcedure is dedicated to a single OdiProject and is located inside an OdiFolder. Thus, life cycle of an OdiUserProcedure begin when it is created from an OdiFolder using OdiFolder#addUserProcedure(String name) method, or when an OdiUserProcedure is imported from an XML file.
Life cycle ends when enclosing OdiProject or OdiFolder is removed from design time repository. An instance of OdiUserProcedure can be generated into an OdiScenario and implements the interface IOdiScenarioSource for this purpose. Also, an instance of OdiUserProcedure can be exported and imported. It implements the interface IExportable.
OdiUserProcedureClass class is defined to only use OdiUserProcedureLineLine as ProcedureLine.
NAME_MAX_LENGTH
Constructor and Description |
---|
OdiUserProcedure(OdiFolder pFolder,
java.lang.String pName)
Constructor that sets the parent
OdiFolder and the name of this OdiUserProcedure instance. |
OdiUserProcedure(OdiFolder pFolder,
java.lang.String pName,
OdiUserProcedure pReferenceUserProcedure)
Constructor that sets the parentFolder, the name of the user procedure,
and the reference user procedure.
|
Modifier and Type | Method and Description |
---|---|
OdiUserProcedureLine |
addLine(java.lang.String pName,
OdiProcedureLineCmd pTargetCommand,
OdiProcedureLineCmd pSourceCommand,
java.util.Collection pGenerationConditions)
Adds (assigning it the latest position) a new OdiProcedureLine with the
given name, the given target and source commands (possibly nulls) and
options (possibly null) that will condition the generation of the line.
|
ProcedureOption |
addOption(java.lang.String pOptionName)
Adds (assigning it the lastest position) a new ProcedureOption with the
given name and default OptionType to this OdiProcedure.
|
ProcedureOption |
addOption(java.lang.String pOptionName,
ProcedureOption.OptionType pType,
java.lang.Object pDefaultValue)
Adds (assigning it the lastest position) a new ProcedureOption of the
given type, default value and with the given name to this OdiProcedure.
|
boolean |
changeShortcutReferenceObject(OdiUserProcedure pReferenceObject) |
void |
checkValidReference(OdiUserProcedure pReferenceObject) |
OdiDesigntimeBreakpoint |
getBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
Returns breakpoint set on the line specified if any and
null
otherwise. |
java.util.Collection |
getExecutionOptions()
Obtains an unmodifiable collection of options defined
for the design time execution of this OdiUserProcedure.
|
OdiFolder |
getFolder()
Return the parent
OdiFolder . |
java.lang.Number |
getInstanceId()
Return the internal identifier of the instance that is marked by this interface.
|
java.util.List |
getLines()
Returns an unmodifiable list of OdiProcedureLines held by this
OdiProcedure.
|
java.lang.Class |
getLineType() |
ProcedureOption |
getOption(java.lang.String pName)
Retrieves the procedure option which name is the parameter name.
|
java.util.Collection |
getOptionNames()
Returns a collection of names of all this procedure's options.
|
java.util.List |
getOptions()
Returns an unmodifable list of ProcedureOptions held by this
OdiProcedure.
|
OdiUserProcedure |
getRealObject() |
IReleaseTag |
getReleaseTag() |
IRepositoryEntity |
getSecurityContainer()
Define a generic way to retrieve container for entities.
|
OdiUserProcedure |
getShortcutBaseObject() |
OdiUserProcedure |
getShortcutOrigObject() |
OdiUserProcedure |
getShortcutReferenceObject() |
boolean |
isCleanupOnError()
Returns true if cleanup tasks should be performed on error, false otherwise.
|
boolean |
isConcurrent()
Returns true if concurrency enabled, false otherwise.
|
boolean |
isInstanceLevelSecurityNeeded()
Internal: this method is for internal purpose and must not be considered
as part of the public API.
|
boolean |
isMultiConnectionSupported()
Return whether this OdiProcedure supports mulitConnection or not.
|
boolean |
isShortcut() |
void |
moveLineAfter(OdiUserProcedureLine pSource,
OdiUserProcedureLine pAfter)
Moves the given OdiProcedureLine after the line specified.
|
void |
moveLineBefore(OdiUserProcedureLine pSource,
OdiUserProcedureLine pBefore)
Moves the given Procedure Moves the given OdiProcedureLine before the
line specified.
|
void |
removeBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
Removes breakpoint on the line specified.
|
void |
removeLine(OdiUserProcedureLine pLine)
Removes the given line from this OdiProcedure.
|
void |
removeOption(ProcedureOption pOption)
Remove the specified option from this procedure.
|
OdiDesigntimeBreakpoint |
setBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
Sets breakpoint on the line specified.
|
void |
setCleanupOnError(boolean pCleanupOnError)
Cleanup tasks should be performed on error is
pCleanupOnError is true. |
void |
setConcurrent(boolean pConcurrent)
Enables concurrency if
pConcurrent is true and disables it otherwise. |
void |
setDefaultSourceTechnology(OdiTechnology pTechnology)
Sets the default source technology of this OdiProcedure.
|
void |
setDefaultTargetTechnology(OdiTechnology pTechnology)
Sets the default target technology.
|
void |
setMultiConnectionSupported(boolean pMultiConnectionSupported)
Defines whether this OdiProcedure supports mulitConnection or not.
|
boolean |
setShortcutBaseObject(OdiUserProcedure pBaseObject) |
boolean |
setShortcutReferenceObject(OdiUserProcedure pReferenceObject) |
addLine, addLine, addLine, addProcedureLine, addProcedureLine, addProcedureOption, dumpLineOrder, duplicateLine, duplicateOption, getDefaultSourceTechnology, getDefaultTargetTechnology, getDescription, getFlexFieldsValues, getInternalId, getName, getProcedureId, getProcedureOption, getProcedureOptions, getTopLevelLines, initFlexFields, isProcedureLine, moveLineToBottom, moveLineToTop, moveOptionAfter, moveOptionBefore, moveOptionToBottom, moveOptionToTop, removeProcedureLine, setDescription, setName
equals, getFirstDate, getFirstUser, getInternalVersion, getLastDate, getLastUser, hashCode, isNew, toString
getGlobalId, getNumericId, hasCustomizedPersistenceMethodFor, invokeCustomizedPersistenceMethodFor
getGlobalId, getNumericId
getFirstDate, getFirstUser, getLastDate, getLastUser
getGlobalId
public OdiUserProcedure(OdiFolder pFolder, java.lang.String pName, OdiUserProcedure pReferenceUserProcedure)
pFolder
- owning folderpName
- name of OdiUserProcedurepReferenceUserProcedure
- The reference datastore for this datastore shortcut.DomainRuntimeException
- if the folder is null or if the name is null, empty or longer than NAME_MAX_LENGTH (400 characters)OdiFolder
public OdiUserProcedure(OdiFolder pFolder, java.lang.String pName)
OdiFolder
and the name of this OdiUserProcedure
instance.pFolder
- owning folderpName
- name of OdiUserProcedureDomainRuntimeException
- if the folder is null or if the name is null, empty or longer than NAME_MAX_LENGTH (400 characters)OdiFolder
public IRepositoryEntity getSecurityContainer()
IRepositoryEntity
getSecurityContainer
in interface IRepositoryEntity
getSecurityContainer
in class OdiProcedure
public OdiFolder getFolder()
OdiFolder
.OdiFolder
OdiFolder
,
setFolder(OdiFolder)
public boolean isInstanceLevelSecurityNeeded()
IOdiEntity
Defines a method to capture the info on which object needs instance level privilege.
isInstanceLevelSecurityNeeded
in interface IOdiEntity
isInstanceLevelSecurityNeeded
in class oracle.odi.domain.support.AbstractOdiEntity
true
if instance level security needed,
false
otherwisepublic java.util.Collection getExecutionOptions()
java.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public java.lang.Number getInstanceId()
IProcedureUser
getInstanceId
in interface IProcedureUser
public OdiUserProcedure getShortcutBaseObject()
getShortcutBaseObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public boolean setShortcutBaseObject(OdiUserProcedure pBaseObject)
setShortcutBaseObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public OdiUserProcedure getShortcutReferenceObject()
getShortcutReferenceObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public boolean setShortcutReferenceObject(OdiUserProcedure pReferenceObject)
setShortcutReferenceObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public OdiUserProcedure getShortcutOrigObject()
getShortcutOrigObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public IReleaseTag getReleaseTag()
getReleaseTag
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public boolean isShortcut()
isShortcut
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public OdiUserProcedure getRealObject()
getRealObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public void checkValidReference(OdiUserProcedure pReferenceObject)
checkValidReference
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public boolean changeShortcutReferenceObject(OdiUserProcedure pReferenceObject)
changeShortcutReferenceObject
in interface oracle.odi.domain.shortcuts.IOdiShortcutable
public ProcedureOption getOption(java.lang.String pName)
OdiProcedure
getOption
in class OdiProcedure
pName
- the name of the optionjava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.addOption(ProcedureOption)
public java.util.Collection getOptionNames()
OdiProcedure
getOptionNames
in class OdiProcedure
java.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.getOptions()
,
OdiProcedure.getOption(String)
public java.util.List getOptions()
OdiProcedure
The obtained list is ordered by option's positions.
Note that list's indexes and options positions are consistent by not equals since the position of a ProcedureOption can be changed manually from ProcedureOption#setPosition(int). Also, when a ProcedureOption's position is changed, the obtained list is not consistent anymore with the new position.
getOptions
in class OdiProcedure
java.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.addOption(ProcedureOption)
,
OdiProcedure.getOption(String)
public ProcedureOption addOption(java.lang.String pOptionName)
OdiProcedure
addOption
in class OdiProcedure
pOptionName
- option namejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public ProcedureOption addOption(java.lang.String pOptionName, ProcedureOption.OptionType pType, java.lang.Object pDefaultValue)
OdiProcedure
addOption
in class OdiProcedure
pOptionName
- Name of option.pType
- Option typepDefaultValue
- Default valuejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void removeOption(ProcedureOption pOption)
OdiProcedure
The option is also removed from any OdiProcedureLine's generation condition.
removeOption
in class OdiProcedure
pOption
- the option to removejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void setDefaultSourceTechnology(OdiTechnology pTechnology)
OdiProcedure
Mainly used inside ODI Studio when creating commands.
By default this property is set to null
.
setDefaultSourceTechnology
in class OdiProcedure
pTechnology
- the default source technologyjava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.getDefaultSourceTechnology()
public void setDefaultTargetTechnology(OdiTechnology pTechnology)
OdiProcedure
Mainly used inside ODI Studio when creating commands.
By default this property is set to null
.
setDefaultTargetTechnology
in class OdiProcedure
pTechnology
- the default target technologyjava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.getDefaultTargetTechnology()
public OdiUserProcedureLine addLine(java.lang.String pName, OdiProcedureLineCmd pTargetCommand, OdiProcedureLineCmd pSourceCommand, java.util.Collection pGenerationConditions)
OdiProcedure
addLine
in class OdiProcedure
pName
- Name of line.pTargetCommand
- target command, or nullpSourceCommand
- source command, or nullpGenerationConditions
- conditions, or nulljava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public java.util.List getLines()
OdiProcedure
getLines
in class OdiProcedure
java.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void moveLineAfter(OdiUserProcedureLine pSource, OdiUserProcedureLine pAfter)
OdiProcedure
moveLineAfter
in class OdiProcedure
pSource
- source linepAfter
- move source line after this linejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void moveLineBefore(OdiUserProcedureLine pSource, OdiUserProcedureLine pBefore)
OdiProcedure
moveLineBefore
in class OdiProcedure
pSource
- source linepBefore
- move source line before this linejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void removeLine(OdiUserProcedureLine pLine)
OdiProcedure
removeLine
in class OdiProcedure
pLine
- line to be removedjava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.public void setMultiConnectionSupported(boolean pMultiConnectionSupported)
OdiProcedure
Setting this will affect source technology. If set to false, source technology will be set to null.
setMultiConnectionSupported
in class OdiProcedure
pMultiConnectionSupported
- true
to make this procedure
supports mutliConnection, false
otherwisejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.isMultiConnectionSupported()
public boolean isMultiConnectionSupported()
OdiProcedure
isMultiConnectionSupported
in class OdiProcedure
true
if the procedure supports mutliConnection,
false
otherwisejava.lang.IllegalStateException
- if this is a shortcut. Use getRealObject to access.OdiProcedure.setMultiConnectionSupported(boolean)
public OdiDesigntimeBreakpoint setBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
pUserProcedureLine
- line to set breakpoint ongetBreakpointOn(OdiUserProcedureLine)
,
removeBreakpointOn(OdiUserProcedureLine)
public OdiDesigntimeBreakpoint getBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
null
otherwise.pUserProcedureLine
- line to get breakpoint onsetBreakpointOn(OdiUserProcedureLine)
,
removeBreakpointOn(OdiUserProcedureLine)
public void removeBreakpointOn(OdiUserProcedureLine pUserProcedureLine)
pUserProcedureLine
- line to remove breakpoint onsetBreakpointOn(OdiUserProcedureLine)
,
getBreakpointOn(OdiUserProcedureLine)
public boolean isConcurrent()
public void setConcurrent(boolean pConcurrent)
pConcurrent
is true and disables it otherwise.pConcurrent
- public boolean isCleanupOnError()
public void setCleanupOnError(boolean pCleanupOnError)
pCleanupOnError
is true.pCleanupOnError
- if cleanup tasks should be performed on error.public java.lang.Class getLineType()
getLineType
in class OdiProcedure