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

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

The newest version!
package org.unlaxer.jaddress.parser;

import java.util.List;

import io.vavr.Lazy;

public class ParsingResultImpl implements ParsingResult{
	
	static ResultRegulator resultRegulator = new ResultRegulator();
	
	final List partialParsingResults;
	final AddressElements addressElements; 
	final boolean isValid;
	final OverAllAddressContext overAllAddressContext;
	final Lazy flatResult = Lazy.of(()->resultRegulator.create(this));

	public ParsingResultImpl(OverAllAddressContext overAllAddressContext , List partialParsingResults) {
		super();
		this.overAllAddressContext = overAllAddressContext;
		this.partialParsingResults = partialParsingResults;
		addressElements = createAddressElements();
		isValid = partialParsingResults.stream()
			.map(PartialParsingResult::parsingState)
			.allMatch(ParsingState::isSuccess);

	}

	@Override
	public List partialParsingResults() {
		return partialParsingResults;
	}


	@Override
	public AddressElements addressElementsWithoutCheck() {
		return addressElements;
	}

	@Override
	public boolean isValid() {
		return isValid;
	}

	@Override
	public OverAllAddressContext overAllAddressContext() {
		return overAllAddressContext;
	}

	@Override
	public FlatResult flatResult() {
		return flatResult.get();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy