org.unlaxer.jaddress.parser.processor.HeuristicBuildingHierarchyResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of japanese-address-parser Show documentation
Show all versions of japanese-address-parser Show documentation
a simplejapanese address parser
The newest version!
package org.unlaxer.jaddress.parser.processor;
import java.util.function.Supplier;
import org.unlaxer.jaddress.entity.standard.定義済みRange階層要素;
import org.unlaxer.jaddress.parser.AddressContext;
import org.unlaxer.jaddress.parser.AddressProcessor;
import org.unlaxer.jaddress.parser.BuildingHierarchyResolver;
import org.unlaxer.jaddress.parser.BuildingHierarchyResolverResult;
import org.unlaxer.jaddress.parser.IntermediateResult;
import org.unlaxer.jaddress.parser.ParsingState;
import org.unlaxer.jaddress.parser.ParsingTarget;
import org.unlaxer.jaddress.parser.TargetStateAndElement;
public class HeuristicBuildingHierarchyResolver implements AddressProcessor{
@Override
public ParsingState targetState() {
return ParsingState.都道府県から枝番までで建物階層と建物名をDBを用いて求める;
}
// @Override
// public 階層要素 target階層要素() {
// return 階層要素.都道府県以降から建物より前まで;
// }
@Override
public TargetStateAndElement process(ParsingTarget parsingTarget) {
AddressContext addressContext = parsingTarget.addressContext();
IntermediateResult intermediateResult = parsingTarget.intermediateResult();
Supplier resolver = parsingTarget.dataAccessContext().getBuildingHierarchyResolver();
BuildingHierarchyResolverResult resolve = resolver.get().resolve(addressContext);
intermediateResult.setBuildingHierarchyResolverResult(resolve);
boolean has建物以降 = parsingTarget.intermediateResult().has建物以降();
return has建物以降 ?
new TargetStateAndElement(
ParsingState.建物名の抜き出しをする,
定義済みRange階層要素.建物以降):
new TargetStateAndElement(
ParsingState.建物より後のTokenをmappingする,
定義済みRange階層要素.全体);
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy