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

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

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

import java.util.Optional;

import org.unlaxer.jaddress.entity.standard.SingleOrRange階層要素;
import org.unlaxer.util.collection.TreeNode;

public interface AddressProcessor {//extends UnaryOperator{
	
	public ParsingState targetState();
	
//	public 階層要素 target階層要素();

	public TargetStateAndElement process(ParsingTarget parsingTarget);
	
	public default TreeNode targetNode(ParsingTarget parsingTarget){
		return targetNodeAsOptional(parsingTarget).orElseThrow();
	}
	
	public default Optional>targetNodeAsOptional(ParsingTarget parsingTarget){
		SingleOrRange階層要素 nextTarget階層要素 = parsingTarget.target階層要素();
		AddressContext addressContext = parsingTarget.addressContext();
		Optional> node = addressContext.addressTree().find(nextTarget階層要素.id());
		return node;
	}
	
	public default SingleOrRange階層要素 target階層要素(ParsingTarget parsingTarget){
		SingleOrRange階層要素 nextTarget階層要素 = parsingTarget.target階層要素();
		return nextTarget階層要素;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy