org.unlaxer.jaddress.parser.AddressParserImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of japanese-address-parser-impl Show documentation
Show all versions of japanese-address-parser-impl Show documentation
a simplejapanese address parser
The newest version!
package org.unlaxer.jaddress.parser;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.unlaxer.jaddress.parser.processor.BlockHierarchyResolver;
import org.unlaxer.jaddress.parser.processor.BuildingTokenizer;
import org.unlaxer.jaddress.parser.processor.HeuristicBlockTokenizer;
import org.unlaxer.jaddress.parser.processor.HeuristicBuildingHierarchyResolver;
import org.unlaxer.jaddress.parser.processor.PrefectureToTownNameTokenizer;
import org.unlaxer.jaddress.parser.processor.RemainsTokenMapper;
import org.unlaxer.jaddress.parser.processor.ZipToAddressResolver;
import org.unlaxer.jaddress.parser.processor.建物以降Parser;
public class AddressParserImpl implements AddressParser{
// this implementation is sequential processing
Map processorByState;
public AddressParserImpl() {
processorByState = Stream.of(
new ZipToAddressResolver(),
new PrefectureToTownNameTokenizer(),
new BlockHierarchyResolver(),
new HeuristicBlockTokenizer(),
new HeuristicBuildingHierarchyResolver(),
new BuildingTokenizer(),
new 建物以降Parser(),
new RemainsTokenMapper()
).collect(Collectors.toMap(AddressProcessor::targetState, Function.identity()));
}
static boolean enableBreakPointHolder = true;
String breakPointHolder(AddressProcessor processor){
String simpleName = processor.getClass().getSimpleName();
String returning="";
switch (simpleName) {
// case ZipToAddressResolver.class.getSimpleName():
case "ZipToAddressResolver":
returning = simpleName;
break;
case "PrefectureToTownNameTokenizer":
returning = simpleName;
break;
case "TownNameTokenizer":
returning = simpleName;
break;
case "BlockHierarchyResolver":
returning = simpleName;
break;
case "HeuristicBlockTokenizer":
returning = simpleName;
break;
case "HeuristicBuildingHierarchyResolver":
returning = simpleName;
break;
case "BuildingTokenizer":
returning = simpleName;
break;
case "建物以降Parser":
returning = simpleName;
break;
case "RemainsTokenMapper":
returning = simpleName;
break;
default:
}
return returning;
}
@Override
public Map processorByState() {
return processorByState;
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy