All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.unlaxer.jaddress.parser.JyuusyoJpResolver Maven / Gradle / Ivy

package org.unlaxer.jaddress.parser;

import java.util.List;

import org.unlaxer.jaddress.entity.jyuusyojp.JyuusyoJP;
import org.unlaxer.jaddress.entity.standard.郵便番号;
import org.unlaxer.jaddress.entity.standard.階層要素;
import org.unlaxer.util.collection.TreeNode;

public class JyuusyoJpResolver implements AddressProcessor{

	@Override
	public ParsingState targetState() {
		return ParsingState.ZIPから住所JPレコード取得;
	}

	@Override
	public NextProcess process(ParsingContext parsingContext) {
		
		AddressContext addressContext = parsingContext.addressContext;
		DataAccessContext dataAccessContext = parsingContext.dataAccessContext;
		郵便番号 zip = addressContext.zip;
		
		List jyuusyoJpFromZip = dataAccessContext.selectJyuusyoJPsByZip(zip);
		
		TreeNode targetNode = targetNode(parsingContext);
		
		if(jyuusyoJpFromZip.isEmpty()) {
			return new NextProcess(ParsingState.住所JPレコード取得失敗エラー , 階層要素.全体);
		}else {
			addressContext.setJyuusyoJpFromZip(jyuusyoJpFromZip);
			
			addressContext.addChild(
					targetNode , 
					new EmptyAddressElement(階層要素.都道府県から町名まで)
			);
			return new NextProcess(ParsingState.都道府県から町名までを分割する , 階層要素.都道府県から町名まで);
		}
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy