Package org.apache.calcite.util.mapping
Class Mappings.IdentityMapping
java.lang.Object
org.apache.calcite.util.mapping.Mappings.AbstractMapping
org.apache.calcite.util.mapping.Mappings.IdentityMapping
- All Implemented Interfaces:
Iterable<IntPair>
,Mapping
,Mappings.CoreMapping
,Mappings.FunctionMapping
,Mappings.SourceMapping
,Mappings.TargetMapping
- Enclosing class:
Mappings
public static class Mappings.IdentityMapping
extends Mappings.AbstractMapping
implements Mappings.FunctionMapping, Mappings.TargetMapping, Mappings.SourceMapping
The identity mapping, of a given size, or infinite.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Removes all elements in the mapping.Returns the mapping type.int
getSource
(int target) Returns the source that a target maps to.int
Returns the number of sources.int
getSourceOpt
(int target) Returns the source that a target maps to, or -1 if it is not mapped.int
getTarget
(int source) Returns the target that a source maps to.int
Returns the number of targets.int
getTargetOpt
(int source) Returns the target that a source maps to, or -1 if it is not mapped.inverse()
boolean
Returns whether this mapping is the identity.iterator()
Returns an iterator over the elements in this mapping.void
set
(int source, int target) int
size()
Returns the number of elements in the mapping.Methods inherited from class org.apache.calcite.util.mapping.Mappings.AbstractMapping
toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
IdentityMapping
public IdentityMapping(int size) Creates an identity mapping.- Parameters:
size
- Size, or -1 if infinite.
-
-
Method Details
-
clear
public void clear()Description copied from interface:Mapping
Removes all elements in the mapping. -
size
public int size()Description copied from interface:Mappings.CoreMapping
Returns the number of elements in the mapping.- Specified by:
size
in interfaceMapping
- Specified by:
size
in interfaceMappings.CoreMapping
-
inverse
- Specified by:
inverse
in interfaceMappings.SourceMapping
- Specified by:
inverse
in interfaceMappings.TargetMapping
-
isIdentity
public boolean isIdentity()Description copied from interface:Mapping
Returns whether this mapping is the identity.- Specified by:
isIdentity
in interfaceMapping
- Specified by:
isIdentity
in interfaceMappings.SourceMapping
- Overrides:
isIdentity
in classMappings.AbstractMapping
-
set
public void set(int source, int target) - Specified by:
set
in interfaceMappings.TargetMapping
- Overrides:
set
in classMappings.AbstractMapping
-
getMappingType
Description copied from interface:Mappings.CoreMapping
Returns the mapping type.- Specified by:
getMappingType
in interfaceMapping
- Specified by:
getMappingType
in interfaceMappings.CoreMapping
- Specified by:
getMappingType
in interfaceMappings.FunctionMapping
- Specified by:
getMappingType
in interfaceMappings.SourceMapping
- Returns:
- Mapping type
-
getSourceCount
public int getSourceCount()Description copied from interface:Mapping
Returns the number of sources. Valid sources will be in the range 0 .. sourceCount.- Specified by:
getSourceCount
in interfaceMapping
- Specified by:
getSourceCount
in interfaceMappings.FunctionMapping
- Specified by:
getSourceCount
in interfaceMappings.SourceMapping
- Specified by:
getSourceCount
in interfaceMappings.TargetMapping
- Overrides:
getSourceCount
in classMappings.AbstractMapping
-
getTargetCount
public int getTargetCount()Description copied from interface:Mapping
Returns the number of targets. Valid targets will be in the range 0 .. targetCount.- Specified by:
getTargetCount
in interfaceMapping
- Specified by:
getTargetCount
in interfaceMappings.SourceMapping
- Specified by:
getTargetCount
in interfaceMappings.TargetMapping
- Overrides:
getTargetCount
in classMappings.AbstractMapping
-
getTarget
public int getTarget(int source) Returns the target that a source maps to.- Specified by:
getTarget
in interfaceMappings.FunctionMapping
- Specified by:
getTarget
in interfaceMappings.TargetMapping
- Overrides:
getTarget
in classMappings.AbstractMapping
- Parameters:
source
- source- Returns:
- target
-
getTargetOpt
public int getTargetOpt(int source) Returns the target that a source maps to, or -1 if it is not mapped.- Specified by:
getTargetOpt
in interfaceMappings.FunctionMapping
- Specified by:
getTargetOpt
in interfaceMappings.SourceMapping
- Specified by:
getTargetOpt
in interfaceMappings.TargetMapping
- Overrides:
getTargetOpt
in classMappings.AbstractMapping
- Parameters:
source
- source- Returns:
- target
-
getSource
public int getSource(int target) Returns the source that a target maps to.- Specified by:
getSource
in interfaceMappings.SourceMapping
- Overrides:
getSource
in classMappings.AbstractMapping
- Parameters:
target
- target- Returns:
- source
-
getSourceOpt
public int getSourceOpt(int target) Returns the source that a target maps to, or -1 if it is not mapped.- Specified by:
getSourceOpt
in interfaceMappings.SourceMapping
- Specified by:
getSourceOpt
in interfaceMappings.TargetMapping
- Overrides:
getSourceOpt
in classMappings.AbstractMapping
- Parameters:
target
- target- Returns:
- source
-
iterator
Description copied from interface:Mapping
Returns an iterator over the elements in this mapping.This method is optional; implementations may throw
UnsupportedOperationException
.
-