|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.util.mapping.Mappings.AbstractMapping org.eigenbase.util.mapping.Mappings.FiniteAbstractMapping org.eigenbase.util.mapping.Mappings.PartialMapping
public static class Mappings.PartialMapping
A mapping where a source at most one target, and every target has at most one source.
Nested Class Summary | |
---|---|
private class |
Mappings.PartialMapping.MappingItr
|
Field Summary | |
---|---|
private MappingType |
mappingType
|
protected int[] |
sources
|
protected int[] |
targets
|
Constructor Summary | |
---|---|
private |
Mappings.PartialMapping(int[] sources,
int[] targets,
MappingType mappingType)
|
|
Mappings.PartialMapping(int sourceCount,
int targetCount,
MappingType mappingType)
Creates a partial mapping. |
|
Mappings.PartialMapping(List<Integer> sourceList,
int sourceCount,
MappingType mappingType)
Creates a partial mapping from a list. |
Method Summary | |
---|---|
private static void |
assertPartialValid(int[] sources,
int[] targets)
|
MappingType |
getMappingType()
|
int |
getSourceCount()
Returns the number of sources. |
int |
getSourceOpt(int target)
|
int |
getTarget(int source)
Returns the target that a source maps to. |
int |
getTargetCount()
Returns the number of targets. |
int |
getTargetOpt(int source)
Returns the target that a source maps to, or -1 if it is not mapped. |
Mapping |
inverse()
|
boolean |
isIdentity()
Returns whether this mapping is the identity. |
protected boolean |
isValid()
|
Iterator<IntPair> |
iterator()
Returns an iterator over the elements in this mapping. |
void |
set(int source,
int target)
|
Methods inherited from class org.eigenbase.util.mapping.Mappings.FiniteAbstractMapping |
---|
equals, hashCode, toString |
Methods inherited from class org.eigenbase.util.mapping.Mappings.AbstractMapping |
---|
getSource |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eigenbase.util.mapping.Mappings.SourceMapping |
---|
getSource |
Field Detail |
---|
protected final int[] sources
protected final int[] targets
private final MappingType mappingType
Constructor Detail |
---|
public Mappings.PartialMapping(int sourceCount, int targetCount, MappingType mappingType)
Initially, no element is mapped to any other:
source | 0 | 1 | 2 |
---|---|---|---|
target | -1 | -1 | -1 |
target | 0 | 1 | 2 | 3 |
---|---|---|---|---|
source | -1 | -1 | -1 | -1 |
sourceCount
- Number of source elementstargetCount
- Number of target elementsmappingType
- Mapping type; must not allow multiple sources per
target or multiple targets per sourcepublic Mappings.PartialMapping(List<Integer> sourceList, int sourceCount, MappingType mappingType)
PartialMapping({1, 2, 4}, 6)
creates the mapping
source | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
target | -1 | 0 | 1 | -1 | 2 | -1 |
sourceList
- List whose i'th element is the source of target #isourceCount
- Number of elements in the source domainmappingType
- Mapping type, must be MappingType.PartialSurjection
or
stronger.private Mappings.PartialMapping(int[] sources, int[] targets, MappingType mappingType)
Method Detail |
---|
public MappingType getMappingType()
getMappingType
in interface Mapping
getMappingType
in interface Mappings.FunctionMapping
getMappingType
in interface Mappings.SourceMapping
getMappingType
in interface Mappings.TargetMapping
public int getSourceCount()
Mapping
getSourceCount
in interface Mapping
getSourceCount
in interface Mappings.FunctionMapping
getSourceCount
in interface Mappings.SourceMapping
getSourceCount
in interface Mappings.TargetMapping
getSourceCount
in class Mappings.AbstractMapping
public int getTargetCount()
Mapping
getTargetCount
in interface Mapping
getTargetCount
in interface Mappings.SourceMapping
getTargetCount
in interface Mappings.TargetMapping
getTargetCount
in class Mappings.AbstractMapping
public Mapping inverse()
inverse
in interface Mappings.SourceMapping
inverse
in interface Mappings.TargetMapping
public Iterator<IntPair> iterator()
Mapping
This method is optional; implementations may throw UnsupportedOperationException
.
iterator
in interface Iterable<IntPair>
iterator
in interface Mapping
iterator
in class Mappings.FiniteAbstractMapping
protected boolean isValid()
private static void assertPartialValid(int[] sources, int[] targets)
public void set(int source, int target)
set
in interface Mappings.TargetMapping
set
in class Mappings.AbstractMapping
public int getSourceOpt(int target)
getSourceOpt
in interface Mappings.SourceMapping
getSourceOpt
in interface Mappings.TargetMapping
getSourceOpt
in class Mappings.AbstractMapping
public int getTargetOpt(int source)
Mappings.FunctionMapping
getTargetOpt
in interface Mappings.FunctionMapping
getTargetOpt
in interface Mappings.SourceMapping
getTargetOpt
in interface Mappings.TargetMapping
getTargetOpt
in class Mappings.AbstractMapping
public int getTarget(int source)
Mappings.FunctionMapping
getTarget
in interface Mappings.FunctionMapping
getTarget
in interface Mappings.TargetMapping
getTarget
in class Mappings.AbstractMapping
source
- source
public boolean isIdentity()
Mapping
isIdentity
in interface Mapping
isIdentity
in interface Mappings.SourceMapping
isIdentity
in class Mappings.AbstractMapping
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |