org.unlaxer.jaddress.parser.ParsingResult 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;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import org.unlaxer.jaddress.entity.standard.郵便番号;
public interface ParsingResult {
List partialParsingResults();
AddressElements addressElementsWithoutCheck();
default Optional addressElements(){
return isValid() ?
Optional.of(addressElementsWithoutCheck()) :
Optional.empty();
}
boolean isValid();
public default 郵便番号 zip() {
return overAllAddressContext().zip();
}
public default StringAndCharacterKinds inputAddress() {
return overAllAddressContext().addressString();
}
OverAllAddressContext overAllAddressContext();
public static ParsingResult create(OverAllAddressContext addressContext , List partialParsingResults) {
return new ParsingResultImpl(addressContext, partialParsingResults);
}
public static ParsingResult create(OverAllAddressContext addressContext , PartialParsingResult... partialParsingResults) {
return new ParsingResultImpl(addressContext , List.of(partialParsingResults));
}
default AddressElements createAddressElements() {
List partialParsingResults = partialParsingResults();
PartialParsingResult partialParsingResult = partialParsingResults.get(0);
AddressElements baseResult = partialParsingResult.result()
.orElseGet(()->{
AddressContext addressContext = partialParsingResult.parsingTarget().addressContext();
return new AddressElements(addressContext);
});
Iterator iterator = partialParsingResults.iterator();
iterator.next();
while (iterator.hasNext()) {
PartialParsingResult additionalParsingResult = iterator.next();
if(false == additionalParsingResult.parsingState().equals(ParsingState.パース終了)) {
continue;
}
additionalParsingResult.result().ifPresent(baseResult::overWrite);
}
return baseResult;
}
public default String resolverResultsAsHex() {
return DebugStatuses.toString(partialParsingResults());
}
FlatResult flatResult();
// public Map resultAsMap();
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy