ICU-91 add ID param to factory

X-SVN-Rev: 6278
This commit is contained in:
Alan Liu 2001-10-17 17:43:03 +00:00
parent afb81c00a6
commit 7ee1a75a7d
16 changed files with 60 additions and 52 deletions

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/LowercaseTransliterator.java,v $
* $Date: 2001/06/29 22:49:52 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*
*****************************************************************************************
*/
@ -29,7 +29,7 @@ public class LowercaseTransliterator extends TransformTransliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new LowercaseTransliterator();
}
});

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/NameUnicodeTransliterator.java,v $
* $Date: 2001/09/28 20:27:02 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class NameUnicodeTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new NameUnicodeTransliterator(null);
}
});

View file

@ -13,7 +13,7 @@ import java.util.*;
/*
* @author Alan Liu
* @version $RCSfile: NormalizationTransliterator.java,v $ $Revision: 1.4 $ $Date: 2001/10/04 20:10:30 $
* @version $RCSfile: NormalizationTransliterator.java,v $ $Revision: 1.5 $ $Date: 2001/10/17 17:43:03 $
*/
public class NormalizationTransliterator extends Transliterator {
@ -32,25 +32,25 @@ public class NormalizationTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory("Any-NFC", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.COMPOSE);
}
});
Transliterator.registerFactory("Any-NFD", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.DECOMP);
}
});
Transliterator.registerFactory("Any-NFKC", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.COMPOSE_COMPAT);
}
});
Transliterator.registerFactory("Any-NFKD", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.DECOMP_COMPAT);
}

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/TitlecaseTransliterator.java,v $
* $Date: 2001/09/28 20:27:02 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class TitlecaseTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new TitlecaseTransliterator();
}
});

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/Transliterator.java,v $
* $Date: 2001/10/10 20:26:27 $
* $Revision: 1.47 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.48 $
*
*****************************************************************************************
*/
@ -241,7 +241,7 @@ import com.ibm.util.CaseInsensitiveString;
* <p>Copyright &copy; IBM Corporation 1999. All rights reserved.
*
* @author Alan Liu
* @version $RCSfile: Transliterator.java,v $ $Revision: 1.47 $ $Date: 2001/10/10 20:26:27 $
* @version $RCSfile: Transliterator.java,v $ $Revision: 1.48 $ $Date: 2001/10/17 17:43:03 $
*/
public abstract class Transliterator {
/**
@ -1596,9 +1596,13 @@ public abstract class Transliterator {
/**
* The factory interface for transliterators. Transliterator
* subclasses can register factory objects for IDs using the
* registerFactory() method of Transliterator.
* registerFactory() method of Transliterator. When invoked, the
* factory object will be passed the ID being instantiated. This
* makes it possible to register one factory method to more than
* one ID, or for a factory method to parameterize its result
* based on the variant.
*/
public static interface Factory {
Transliterator getInstance();
Transliterator getInstance(String ID);
}
}

View file

@ -825,7 +825,7 @@ class TransliteratorRegistry {
aliasReturn.append(((AliasEntry) entry).alias);
return null;
} else if (entry instanceof Transliterator.Factory) {
return ((Transliterator.Factory) entry).getInstance();
return ((Transliterator.Factory) entry).getInstance(ID);
} else if (entry instanceof CompoundRBTEntry) {
return ((CompoundRBTEntry) entry).getInstance();
}

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/UnicodeNameTransliterator.java,v $
* $Date: 2001/09/28 20:24:09 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class UnicodeNameTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new UnicodeNameTransliterator(null);
}
});

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/UppercaseTransliterator.java,v $
* $Date: 2001/06/29 22:50:25 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*
*****************************************************************************************
*/
@ -29,7 +29,7 @@ public class UppercaseTransliterator extends TransformTransliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new UppercaseTransliterator();
}
});

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/LowercaseTransliterator.java,v $
* $Date: 2001/06/29 22:49:52 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*
*****************************************************************************************
*/
@ -29,7 +29,7 @@ public class LowercaseTransliterator extends TransformTransliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new LowercaseTransliterator();
}
});

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/NameUnicodeTransliterator.java,v $
* $Date: 2001/09/28 20:27:02 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class NameUnicodeTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new NameUnicodeTransliterator(null);
}
});

View file

@ -13,7 +13,7 @@ import java.util.*;
/*
* @author Alan Liu
* @version $RCSfile: NormalizationTransliterator.java,v $ $Revision: 1.4 $ $Date: 2001/10/04 20:10:30 $
* @version $RCSfile: NormalizationTransliterator.java,v $ $Revision: 1.5 $ $Date: 2001/10/17 17:43:03 $
*/
public class NormalizationTransliterator extends Transliterator {
@ -32,25 +32,25 @@ public class NormalizationTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory("Any-NFC", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.COMPOSE);
}
});
Transliterator.registerFactory("Any-NFD", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.DECOMP);
}
});
Transliterator.registerFactory("Any-NFKC", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.COMPOSE_COMPAT);
}
});
Transliterator.registerFactory("Any-NFKD", new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return NormalizationTransliterator.
getInstance(Normalizer.DECOMP_COMPAT);
}

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/TitlecaseTransliterator.java,v $
* $Date: 2001/09/28 20:27:02 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class TitlecaseTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new TitlecaseTransliterator();
}
});

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/Transliterator.java,v $
* $Date: 2001/10/10 20:26:27 $
* $Revision: 1.47 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.48 $
*
*****************************************************************************************
*/
@ -241,7 +241,7 @@ import com.ibm.util.CaseInsensitiveString;
* <p>Copyright &copy; IBM Corporation 1999. All rights reserved.
*
* @author Alan Liu
* @version $RCSfile: Transliterator.java,v $ $Revision: 1.47 $ $Date: 2001/10/10 20:26:27 $
* @version $RCSfile: Transliterator.java,v $ $Revision: 1.48 $ $Date: 2001/10/17 17:43:03 $
*/
public abstract class Transliterator {
/**
@ -1596,9 +1596,13 @@ public abstract class Transliterator {
/**
* The factory interface for transliterators. Transliterator
* subclasses can register factory objects for IDs using the
* registerFactory() method of Transliterator.
* registerFactory() method of Transliterator. When invoked, the
* factory object will be passed the ID being instantiated. This
* makes it possible to register one factory method to more than
* one ID, or for a factory method to parameterize its result
* based on the variant.
*/
public static interface Factory {
Transliterator getInstance();
Transliterator getInstance(String ID);
}
}

View file

@ -825,7 +825,7 @@ class TransliteratorRegistry {
aliasReturn.append(((AliasEntry) entry).alias);
return null;
} else if (entry instanceof Transliterator.Factory) {
return ((Transliterator.Factory) entry).getInstance();
return ((Transliterator.Factory) entry).getInstance(ID);
} else if (entry instanceof CompoundRBTEntry) {
return ((CompoundRBTEntry) entry).getInstance();
}

View file

@ -3,8 +3,8 @@
* others. All Rights Reserved.
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/UnicodeNameTransliterator.java,v $
* $Date: 2001/09/28 20:24:09 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*/
package com.ibm.text;
import java.util.*;
@ -25,7 +25,7 @@ public class UnicodeNameTransliterator extends Transliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new UnicodeNameTransliterator(null);
}
});

View file

@ -5,8 +5,8 @@
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/text/Attic/UppercaseTransliterator.java,v $
* $Date: 2001/06/29 22:50:25 $
* $Revision: 1.2 $
* $Date: 2001/10/17 17:43:03 $
* $Revision: 1.3 $
*
*****************************************************************************************
*/
@ -29,7 +29,7 @@ public class UppercaseTransliterator extends TransformTransliterator {
*/
static void register() {
Transliterator.registerFactory(_ID, new Transliterator.Factory() {
public Transliterator getInstance() {
public Transliterator getInstance(String ID) {
return new UppercaseTransliterator();
}
});