public class JoinComponent extends DefaultDelegate
DefaultDelegate.DefaultAttributeDelegate, DefaultDelegate.DefaultConnectorPointDelegate
oracle.odi.domain.mapping.MapComponentDelegate.AttributeDelegate, oracle.odi.domain.mapping.MapComponentDelegate.MapConnectorPointDelegate
IMapComponent.ComponentCategory
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPONENT_TYPE_NAME
The component type name for this component.
|
static java.lang.String |
JOIN_TYPE_CROSS
Join type property value for cross join.
|
static java.lang.String |
JOIN_TYPE_FULL_OUTER
Join type property value for full outer join.
|
static java.lang.String |
JOIN_TYPE_INNER
Join type property value for inner join.
|
static java.lang.String |
JOIN_TYPE_LEFT_OUTER
Join type property value for left outer join.
|
static java.lang.String |
JOIN_TYPE_NATURAL
Join type property value for natural join.
|
static java.lang.String |
JOIN_TYPE_RIGHT_OUTER
Join type property value for right outer join.
|
static java.lang.String |
PROPKEY_ACTIVE_INDICATOR
Property key name for the active indicator property.
|
static java.lang.String |
PROPKEY_DEFAULT_JOIN
Property key name for the default join property
|
static java.lang.String |
PROPKEY_DERIVED_FROM
Property key name for the derived from property
|
static java.lang.String |
PROPKEY_DERIVED_JOINS
Property key name for the derived joins property
|
static java.lang.String |
PROPKEY_GENERATE_ANSI
Property key name for the ordered join property.
|
static java.lang.String |
PROPKEY_JOIN_CONDITION
Property key name for the join condition property.
|
static java.lang.String |
PROPKEY_JOIN_INPUT_ROLE |
static java.lang.String |
PROPKEY_JOIN_ORDER
Property key name for the join order property.
|
static java.lang.String |
PROPKEY_JOIN_SOURCE_ORDER
Property key name for the join source order property
|
static java.lang.String |
PROPKEY_JOIN_TYPE
Property key name for the join type property.
|
static java.lang.String |
PROPKEY_TECHNICAL_DESCRIPTION
Property key name for the technical description
|
VARIABLE_COMPONENT_TYPE_NAME
Modifier and Type | Method and Description |
---|---|
void |
addJoinSource(IMapComponent source,
java.lang.String conditionText)
Adds a join source to an existing join.
|
void |
connectReferencedSourcesToJoin()
Adds input connections from sources that are referenced in the join condition.
|
MapConnectorPoint |
createInputConnectorPoint(java.lang.String name)
Add an input connector point to this component.
|
MapConnectorPoint |
findConnectorPointWithRole(java.lang.String pRole)
Finds the connector point for the specified input role.
|
IMapComponent |
getComponentForRole(java.lang.String inputRole)
Gets the source component playing the specified input role, which can be either LEFT or RIGHT.
|
java.lang.String |
getDerivedFromText()
Returns the "derived from" property value for a join.
|
java.util.List |
getDerivedJoins(Dataset dataset)
Gets the list of derived joins that are derived from this join.
|
java.lang.String |
getDerivedJoinsText()
Gets the comma separated list of names of derived join components that are derived from this join.
|
MapExpression.ExecuteOnLocation |
getExecuteOnHint()
Return an execute location hint if the component supports it, otherwise "NO_HINT".
|
MapExpression |
getJoinCondition()
Gets the expression value for the join condition property.
|
java.lang.String |
getJoinConditionText()
Gets the expression text value for the join condition property.
|
int |
getJoinOrder()
Gets the join order property value, as an integer.
|
java.lang.String |
getJoinSourceOrderText()
Gets the join source order text as a comma separated list of source component names.
|
java.lang.String |
getJoinType()
Gets the string value of the join condition type property.
|
oracle.odi.mapping.generation.JoinTable.JoinType |
getJoinTypeAsEnum()
Gets the enum value of the join condition type property.
|
java.lang.String |
getLeftSourceName()
Gets the name of the source component playing the role of "left" join source.
|
java.util.List |
getOrderedJoinSources()
Gets the list of ordered join sources (from left to right).
|
java.util.List |
getReferencedSources()
Gets the sources that are referenced by the join condition for the join component.
|
java.lang.String |
getRightSourceName()
Gets the name of the source component playing the role of "right" join source.
|
java.lang.String |
getSourceNameForRole(java.lang.String inputRole)
Gets the name of the source component playing the specified input role, which can be either LEFT or RIGHT.
|
java.lang.String |
getTechnicalDescription()
If this is a Join/Filter/LookUp/Datastore Component
return technical description of corresponding expression
|
void |
handleMapChangeEvent(oracle.odi.domain.mapping.MapChangeEvent event) |
boolean |
hasUserDefinedJoinOrder()
Checks if the join order is user-defined.
|
void |
initializeConnectorPoint(MapConnectorPoint point)
Initializes the connector points.
|
boolean |
isCrossJoin()
Checks if this join is a cross join.
|
boolean |
isDefaultJoin()
Checks if this join component is a default join.
|
boolean |
isDerived()
Checks if this join component is a derived join.
|
boolean |
isFullOuterJoin()
Checks if this join is a full outer join.
|
boolean |
isGenerateANSISyntax()
Gets the "generate ANSI syntax" boolean property value.
|
boolean |
isInnerJoin()
Checks if this join is an inner join.
|
boolean |
isJoinInsideDataset()
Checks if this join is within a Dataset.
|
boolean |
isLeftOrRightOuterJoin()
Checks if this join is a left or right outer join.
|
boolean |
isLeftOuterJoin()
Checks if this join is a left outer join.
|
boolean |
isNaturalJoin()
Checks if this join is a natural join.
|
boolean |
isRightOuterJoin()
Checks if this join is a right outer join.
|
boolean |
isValidForTechnology(ITechnology techno,
java.util.List issues)
Check whether component is valid for a technology.
|
static JoinComponent |
joinSources(IMapComponent source1,
IMapComponent source2,
java.lang.String joinConditionText)
Creates a new join component to join the two specified sources,
using the specified join condition.
|
static JoinComponent |
joinSources(java.lang.String joinName,
IMapComponent source1,
IMapComponent source2,
java.lang.String joinConditionText)
Creates a new join component to join the two specified sources, using the specified join condition.
|
void |
setDerivedFromText(java.lang.String text)
Sets the "derived from" property text.
|
void |
setDerivedJoinsText(java.lang.String derivedJoins)
Sets the list of names for joins derived from this join.
|
void |
setExecuteOnHint(MapExpression.ExecuteOnLocation hint)
Set the execute-on hint for this component, if applicable, otherwise throw exception.
|
void |
setGenerateANSISyntax(boolean generateANSISyntax)
Sets the generate ANSI syntax flag.
|
void |
setJoinConditionText(java.lang.String text)
Sets the join condition text for the join condition expression property for the
component.
|
void |
setJoinOrder(int order)
Sets the join order, as an integer value.
|
void |
setJoinSourceOrderText(java.lang.String text)
Sets the join source order text for the join source order property.
|
void |
setJoinType(oracle.odi.mapping.generation.JoinTable.JoinType type)
Sets the join type as enum.
|
void |
setJoinType(java.lang.String type)
Sets the join condition type as a string.
|
customSyncComponent, fixExpressions, getBlockExpressionReferencedAttributes, getExecuteOnHintString, getIntegrationType, getNextAvailableInput, getNextAvailableInput, getNextAvailableOutput, invalidateExpressions, isAddInputConnectorPointAllowed, isAddOutputConnectorPointAllowed, isPassive, setExecuteOnHintByString
afterAddComponent, afterPropertyChange, afterRemoveComponent, allowInputAttribute, connectFrom, createInputConnectorPoint, createOutputConnectorPoint, createOutputConnectorPoint, customValidateProposedChildConnection, customValidateProposedChildScoping, equals, getBoundObjectFullName, getBoundObjectName, getBoundShortcutFullName, getComponentContext, getComponentCustomLocation, getComponentType, getInScopeAttributeXMap, getSQLAccessName, getTypeName, handleChildMapChangeEvent, hashCode, initPhysicalNode, isBoundObjectDeleted, isCompositeComponentType, setComponentType, supportComponentOfType, toString
addComponent, addProperty, afterConnect, bindTo, bindTo, connectTo, connectTo, connectTo, connectTo, containsComponent, createComponent, createComponent, createComponent, createExpressionAttribute, createExpressionAttribute, createOutputConnectorPoint, createProperty, dump, dump, findAllComponents, findAllSplitPaths, findComponent, findComponentBoundTo, findComponentOfType, findConnector, findConnectorPoint, findInputAttribute, findOutputAttribute, findSubComponentOwner, generateUniqueComponentName, generateUniqueComponentName, generateUniqueConnectorName, generateUniqueName, generateUniqueName, getAdapter, getAlias, getAllComponents, getAllComponentsOfType, getAllExpressions, getAllPathsFrom, getAllPathsFrom, getAllProperties, getAllSubComponentOwners, getAttributeExpressions, getAttributes, getBooleanPropertyValue, getBoundObject, getBoundShortcut, getBoundTechnology, getBusinessName, getCachedIssues, getComponentAttributeMap, getComponentCategory, getComponentCount, getComponentLocation, getComponentOwner, getComponents, getComponentTypeName, getCompositeQualifier, getConnectorPointCount, getConnectorPointCount, getConnectorPoints, getConnectorPoints, getConnectorPointToLeaf, getConnectorTo, getDelegate, getDescription, getDisplayableObjectName, getDisplayableProperties, getDisplayableTypeName, getDomainInterfaceType, getDownstreamConnectedLeafComponents, getDownstreamConnectedPoints, getExpressionPropertyValue, getExpressionReferences, getExpressionValidationCode, getExtraCreatedObjects, getFlowConstraints, getFullName, getGlobalId, getGUID, getInputConnectorPoint, getInputConnectorPoint, getInputConnectorPointCount, getInputConnectorPoints, getInputPoint, getInScopeAttributes, getInScopeAttributeXMap, getInternalId, getIntPropertyValue, getLeafLevelComponents, getLeafLevelTargets, getMapRootContainer, getName, getNumericId, getOutputAttributeExpressions, getOutputAttributes, getOutputConnectorPoint, getOutputConnectorPoint, getOutputConnectorPointCount, getOutputConnectorPoints, getOutputPoint, getOwner, getOwningComponent, getPersistentClassName, getPersistentComponent, getPrefix, getProjectedAttributes, getProjectorOrMultiInputSource, getProperties, getProperty, getPropertyDefinitionOwner, getPropertyValue, getPropertyValueReference, getProposedConnectionIssues, getProposedConnectionIssues, getProposedScopingIssues, getQualifiedName, getRootComponentOwner, getRootContainer, getScopingInputPointForSource, getSecurityContainer, getSources, getStringPropertyValue, getStrongTypeClassName, getSyncState, getTargets, getTopLevelComponentsOfType, getTopLevelSources, getTopLevelTargets, getTopmostComponent, getUpstreamAttributeXMap, getUpstreamComponentOwner, getUpstreamConnectedLeafComponents, getUpstreamConnectedLeafPoints, getUpstreamConnectedPoints, getUpstreamInScopeLeafAttributes, getUpstreamInScopeLeafComponentsFor, getUpstreamInScopeLeafPoints, getUpstreamLeafAttributes, getUpstreamLeafAttributes, getUpstreamLeafConnectorPoints, getUpstreamLeafSources, getUpstreamSources, getUpstreamSplitPaths, hasCustomizedPersistenceMethodFor, invalidateDownstreamExpressions, invokeCustomizedPersistenceMethodFor, invokeMethod, isBound, isComponent, isComponentLevelConnectAllowed, isCompositeComponent, isDecorator, isEndpoint, isHidden, isInScope, isInScope, isMultiInputSelector, isOfType, isProjector, isPropertyDefined, isProposedConnectionValid, isProposedConnectionValid, isProposedScopingValid, isSelector, isSource, isSubComponent, isTarget, isUniqueComponentName, isUniqueComponentName, referencesObject, removeAllConnections, removeAllConnections, removeAllConnectionsAndReroute, removeAllConnectionsAndReroute, removeAllInputConnections, removeComponent, removeComponent, removeInputConnectorPoint, removeInputConnectorPoint, removeInputConnectorPoint, removeOutputConnectorPoint, removeOutputConnectorPoint, removeProperty, reorderInputConnectorPoint, reorderOutputConnectorPoint, rerouteConnections, setAlias, setAttributeExpressionText, setAttributeExpressionText, setBooleanPropertyValue, setBusinessName, setDescription, setIntPropertyValue, setIsHidden, setName, setPropertyValue, syncComponent, validate, validate, validateProperties
public static final java.lang.String COMPONENT_TYPE_NAME
public static final java.lang.String PROPKEY_JOIN_CONDITION
public static final java.lang.String PROPKEY_JOIN_TYPE
public static final java.lang.String PROPKEY_GENERATE_ANSI
public static final java.lang.String PROPKEY_JOIN_ORDER
public static final java.lang.String PROPKEY_JOIN_SOURCE_ORDER
public static final java.lang.String PROPKEY_DERIVED_FROM
public static final java.lang.String PROPKEY_DERIVED_JOINS
public static final java.lang.String PROPKEY_ACTIVE_INDICATOR
public static final java.lang.String PROPKEY_DEFAULT_JOIN
public static final java.lang.String JOIN_TYPE_INNER
public static final java.lang.String JOIN_TYPE_LEFT_OUTER
public static final java.lang.String JOIN_TYPE_RIGHT_OUTER
public static final java.lang.String JOIN_TYPE_FULL_OUTER
public static final java.lang.String JOIN_TYPE_NATURAL
public static final java.lang.String JOIN_TYPE_CROSS
public static final java.lang.String PROPKEY_JOIN_INPUT_ROLE
public static final java.lang.String PROPKEY_TECHNICAL_DESCRIPTION
public JoinComponent(MapComponent component) throws MappingException
component
- MappingException
public JoinComponent(MapComponentType componentType) throws oracle.odi.domain.mapping.exception.MapComponentException
oracle.odi.domain.mapping.exception.MapComponentException
public JoinComponent(MapComponentOwner owner, java.lang.String name) throws MappingException, AdapterException
owner
- the component owner that will own the new component.name
- the name for the new component.PropertyException
MappingException
AdapterException
public MapConnectorPoint createInputConnectorPoint(java.lang.String name) throws MappingException
IMapComponent
createInputConnectorPoint
in class oracle.odi.domain.mapping.MapComponentDelegate
name
- The name given to the newly created connector point,
or to an unconnected existing connector point.
If null, a name will be autogenerated (e.g. "INPUT1"),
and reuse of an unused existing connector point will be tried first.
If "", a name will be autogenerated,
and only creation of a new connector point will be tried.oracle.odi.domain.mapping.exception.MapComponentException
PropertyException
MappingException
public void initializeConnectorPoint(MapConnectorPoint point) throws oracle.odi.domain.mapping.exception.MapComponentException, PropertyException
DefaultDelegate
point
- the group to be initializedoracle.odi.domain.mapping.exception.MapComponentException
PropertyException
public java.lang.String getSourceNameForRole(java.lang.String inputRole) throws MappingException, AdapterException
inputRole
- the input role for which to find the input component.MappingException
AdapterException
public IMapComponent getComponentForRole(java.lang.String inputRole) throws PropertyException, oracle.odi.domain.mapping.exception.MapComponentException, MappingException, AdapterException
inputRole
- the input role for which to find the input component.PropertyException
oracle.odi.domain.mapping.exception.MapComponentException
MappingException
AdapterException
public MapConnectorPoint findConnectorPointWithRole(java.lang.String pRole) throws PropertyException
pRole
- the role for which an input connector point is to be found.PropertyException
public java.lang.String getLeftSourceName() throws MappingException, AdapterException
MappingException
AdapterException
public java.lang.String getRightSourceName() throws MappingException, AdapterException
MappingException
AdapterException
public MapExpression getJoinCondition() throws PropertyException
PropertyException
public boolean isGenerateANSISyntax() throws PropertyException
PropertyException
public void setGenerateANSISyntax(boolean generateANSISyntax) throws PropertyException
generateANSISyntax
- the flag for generating ANSI syntax.PropertyException
public int getJoinOrder() throws PropertyException
PropertyException
public void setJoinOrder(int order) throws PropertyException
order
- the integer join order value.PropertyException
public boolean hasUserDefinedJoinOrder() throws PropertyException
PropertyException
public java.util.List getOrderedJoinSources() throws MappingException, AdapterException
AdapterException
MappingException
public void setJoinSourceOrderText(java.lang.String text) throws MappingException
text
- The new join source order text.PropertyException
MappingException
public java.lang.String getJoinSourceOrderText() throws MappingException
MappingException
public java.lang.String getDerivedFromText() throws PropertyException
PropertyException
public void setDerivedFromText(java.lang.String text) throws MappingException
text
- the new "derived from" text value, which is a comma separated list of names of join components
from which this derived join derives.MappingException
public java.util.List getDerivedJoins(Dataset dataset) throws oracle.odi.domain.mapping.exception.MapComponentException, MappingException, AdapterException
A prerequisite of this method is that the expression value is parsed, and all the cross references are valid. If this is not true, e.g., in the case when the join is just removed, this method will not return correct list of derived joins. For such case, consider using the method findDerivedJoins in Dataset.
dataset
- find the derived joins in this datasetAdapterException
MappingException
oracle.odi.domain.mapping.exception.MapComponentException
Dataset.findDerivedJoins(JoinComponent)
public java.lang.String getDerivedJoinsText() throws PropertyException
PropertyException
public void setDerivedJoinsText(java.lang.String derivedJoins) throws MappingException
derivedJoins
- a comma separated list of derived join names.MappingException
public java.lang.String getJoinConditionText() throws PropertyException
PropertyException
public java.lang.String getJoinType() throws PropertyException
PropertyException
public oracle.odi.mapping.generation.JoinTable.JoinType getJoinTypeAsEnum() throws PropertyException
PropertyException
public void setJoinConditionText(java.lang.String text) throws MappingException
text
- the new join condition expression text.PropertyException
MappingException
public void setJoinType(java.lang.String type) throws PropertyException
type
- the join condition type.PropertyException
public void setJoinType(oracle.odi.mapping.generation.JoinTable.JoinType type) throws PropertyException
type
- the enum value for the join typePropertyException
public java.util.List getReferencedSources() throws MappingException, AdapterException
MappingException
AdapterException
public static JoinComponent joinSources(java.lang.String joinName, IMapComponent source1, IMapComponent source2, java.lang.String joinConditionText) throws MappingException, AdapterException
joinName
- the name of the new join component.source1
- the first source to connect to the join input.source2
- the second source to connect to the join input.MappingException
AdapterException
public static JoinComponent joinSources(IMapComponent source1, IMapComponent source2, java.lang.String joinConditionText) throws MappingException, AdapterException
source1
- the first source to connect to the join input.source2
- the second source to connect to the join input.MappingException
AdapterException
public void addJoinSource(IMapComponent source, java.lang.String conditionText) throws MappingException
source
- the source to add to the join.conditionText
- the condition that relates the source to the existing join sources.MappingException
public void connectReferencedSourcesToJoin() throws MappingException, AdapterException
MappingException
AdapterException
public MapExpression.ExecuteOnLocation getExecuteOnHint() throws PropertyException
IMapComponent
getExecuteOnHint
in class DefaultDelegate
PropertyException
public void setExecuteOnHint(MapExpression.ExecuteOnLocation hint) throws PropertyException
IMapComponent
setExecuteOnHint
in class DefaultDelegate
PropertyException
public boolean isJoinInsideDataset() throws oracle.odi.domain.mapping.exception.MapComponentException
oracle.odi.domain.mapping.exception.MapComponentException
public boolean isDerived()
getDerivedFrom(Dataset)
public boolean isDefaultJoin() throws MappingException
MappingException
public void handleMapChangeEvent(oracle.odi.domain.mapping.MapChangeEvent event)
handleMapChangeEvent
in class oracle.odi.domain.mapping.MapComponentDelegate
public java.lang.String getTechnicalDescription() throws PropertyException
IMapComponent
getTechnicalDescription
in class oracle.odi.domain.mapping.MapComponentDelegate
PropertyException
public boolean isInnerJoin() throws PropertyException
PropertyException
public boolean isLeftOuterJoin() throws PropertyException
PropertyException
public boolean isRightOuterJoin() throws PropertyException
PropertyException
public boolean isFullOuterJoin() throws PropertyException
PropertyException
public boolean isLeftOrRightOuterJoin() throws PropertyException
PropertyException
public boolean isCrossJoin() throws PropertyException
PropertyException
public boolean isNaturalJoin() throws PropertyException
PropertyException
public boolean isValidForTechnology(ITechnology techno, java.util.List issues) throws MappingException
IMapComponent
isValidForTechnology
in class DefaultDelegate
techno
- The technology to validate againstMappingException