org.apache.mahout.cf.taste.impl.model
Class AbstractJDBCIDMigrator
java.lang.Object
org.apache.mahout.cf.taste.impl.model.AbstractIDMigrator
org.apache.mahout.cf.taste.impl.model.AbstractJDBCIDMigrator
- All Implemented Interfaces:
- Refreshable, IDMigrator, UpdatableIDMigrator
- Direct Known Subclasses:
- MySQLJDBCIDMigrator
public abstract class AbstractJDBCIDMigrator
- extends AbstractIDMigrator
- implements UpdatableIDMigrator
Implementation which stores the reverse long-to-String mapping in a database. Subclasses can override and
configure the class to operate with particular databases by supplying appropriate SQL statements to the
constructor.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_MAPPING_TABLE
public static final String DEFAULT_MAPPING_TABLE
- See Also:
- Constant Field Values
DEFAULT_LONG_ID_COLUMN
public static final String DEFAULT_LONG_ID_COLUMN
- See Also:
- Constant Field Values
DEFAULT_STRING_ID_COLUMN
public static final String DEFAULT_STRING_ID_COLUMN
- See Also:
- Constant Field Values
AbstractJDBCIDMigrator
protected AbstractJDBCIDMigrator(DataSource dataSource,
String getStringIDSQL,
String storeMappingSQL)
- Parameters:
getStringIDSQL - SQL statement which selects one column, the String ID, from a mapping table. The statement
should take one long parameter.storeMappingSQL - SQL statement which saves a mapping from long to String. It should take two parameters, a long
and a String.
storeMapping
public final void storeMapping(long longID,
String stringID)
throws TasteException
- Description copied from interface:
UpdatableIDMigrator
- Stores the reverse long-to-String mapping in some kind of backing store. Note that this must be called
directly (or indirectly through
UpdatableIDMigrator.initialize(Iterable)) for every String that might be encountered
in the application, or else the mapping will not be known.
- Specified by:
storeMapping in interface UpdatableIDMigrator
- Parameters:
longID - long IDstringID - string ID that maps to/from that long ID
- Throws:
TasteException - if an error occurs while saving the mapping
toStringID
public final String toStringID(long longID)
throws TasteException
- Specified by:
toStringID in interface IDMigrator
- Returns:
- the string ID most recently associated with the given long ID, or null if doesn't exist
- Throws:
TasteException - if an error occurs while retrieving the mapping
initialize
public void initialize(Iterable<String> stringIDs)
throws TasteException
- Description copied from interface:
UpdatableIDMigrator
- Make the mapping aware of the given string IDs. This must be called initially before the implementation
is used, or else it will not be aware of reverse long-to-String mappings.
- Specified by:
initialize in interface UpdatableIDMigrator
- Throws:
TasteException - if an error occurs while storing the mappings
Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.