org.mymedialite.data
Class EntityMapping

java.lang.Object
  extended by org.mymedialite.data.EntityMapping
All Implemented Interfaces:
IEntityMapping
Direct Known Subclasses:
HierarchicalEntityMapping

public class EntityMapping
extends java.lang.Object
implements IEntityMapping

Class to map String external entity IDs to internal ones to ensure that there are no gaps in the numbering


Field Summary
protected  java.util.HashMap<java.lang.Integer,java.lang.String> internal_to_original
          Contains the mapping from the internal IDs to the original (external) IDs.
protected  java.util.HashMap<java.lang.String,java.lang.Integer> original_to_internal
          Contains the mapping from the original (external) IDs to the internal IDs.
 
Constructor Summary
EntityMapping()
           
 
Method Summary
 java.util.Collection<java.lang.Integer> internalIDs()
          Get all the internal entity IDs.
 void loadMapping(java.io.BufferedReader reader)
          Load an entity mapping.
 java.util.Collection<java.lang.String> originalIDs()
          Get all the original (external) entity IDs
 void saveMapping(java.io.PrintWriter writer)
          Save this entity mapping.
 IntList toInternalID(java.util.List<java.lang.String> original_id_list)
          Get the internal IDs of a list of given entities.
 java.lang.Integer toInternalID(java.lang.String original_id)
          Get internal ID of a given entity.
 java.lang.String toOriginalID(int internal_id)
          Get original (external) ID of a given entity.
 java.util.List<java.lang.String> toOriginalID(IntList internal_id_list)
          Get the original (external) IDs of a list of given entities.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

original_to_internal

protected java.util.HashMap<java.lang.String,java.lang.Integer> original_to_internal
Contains the mapping from the original (external) IDs to the internal IDs.


internal_to_original

protected java.util.HashMap<java.lang.Integer,java.lang.String> internal_to_original
Contains the mapping from the internal IDs to the original (external) IDs.

Constructor Detail

EntityMapping

public EntityMapping()
Method Detail

originalIDs

public java.util.Collection<java.lang.String> originalIDs()
Get all the original (external) entity IDs

Specified by:
originalIDs in interface IEntityMapping
Returns:
all original (external) entity IDs

internalIDs

public java.util.Collection<java.lang.Integer> internalIDs()
Get all the internal entity IDs.

Specified by:
internalIDs in interface IEntityMapping
Returns:
all internal entity IDs

toOriginalID

public java.lang.String toOriginalID(int internal_id)
                              throws java.lang.IllegalArgumentException
Get original (external) ID of a given entity.

Specified by:
toOriginalID in interface IEntityMapping
Parameters:
internal_id - the internal ID of the entity
Returns:
the original (external) ID of the entity
Throws:
if - the given internal ID is unknown
java.lang.IllegalArgumentException

toInternalID

public java.lang.Integer toInternalID(java.lang.String original_id)
Get internal ID of a given entity. If the given external ID is unknown, create a new internal ID for it and store the mapping.

Specified by:
toInternalID in interface IEntityMapping
Parameters:
original_id - the original (external) ID of the entity
Returns:
the internal ID of the entity

toOriginalID

public java.util.List<java.lang.String> toOriginalID(IntList internal_id_list)
Get the original (external) IDs of a list of given entities.

Specified by:
toOriginalID in interface IEntityMapping
Parameters:
internal_id_list - the list of internal IDs
Returns:
the list of original (external) IDs

toInternalID

public IntList toInternalID(java.util.List<java.lang.String> original_id_list)
Get the internal IDs of a list of given entities.

Specified by:
toInternalID in interface IEntityMapping
Parameters:
original_id_list - the list of original (external) IDs
Returns:
a list of internal IDs

saveMapping

public void saveMapping(java.io.PrintWriter writer)
                 throws java.io.IOException
Save this entity mapping.

Parameters:
writer -
Throws:
java.io.IOException

loadMapping

public void loadMapping(java.io.BufferedReader reader)
                 throws java.io.IOException
Load an entity mapping.

Parameters:
reader -
Throws:
java.io.IOException