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

gr.uom.java.xmi.decomposition.TryStatementObject Maven / Gradle / Ivy

package gr.uom.java.xmi.decomposition;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.Statement;

import gr.uom.java.xmi.LocationInfo.CodeElementType;

public class TryStatementObject extends CompositeStatementObject {
	private List catchClauses;
	private CompositeStatementObject finallyClause;

	public TryStatementObject(CompilationUnit cu, String filePath, Statement statement, int depth) {
		super(cu, filePath, statement, depth, CodeElementType.TRY_STATEMENT);
		this.catchClauses = new ArrayList();
	}

	public void addCatchClause(CompositeStatementObject catchClause) {
		catchClauses.add(catchClause);
	}

	public List getCatchClauses() {
		return catchClauses;
	}

	public void setFinallyClause(CompositeStatementObject finallyClause) {
		this.finallyClause = finallyClause;
	}

	public CompositeStatementObject getFinallyClause() {
		return finallyClause;
	}

	public boolean isTryWithResources() {
		return getExpressions().size() > 0;
	}

	public boolean identicalCatchOrFinallyBlocks(TryStatementObject other) {
		int identicalCatchClauses = 0;
		boolean identicalFinallyClause = false;
		if(this.catchClauses.size() == other.catchClauses.size()) {
			for(int i=0; i 0 && identicalCatchClauses == this.catchClauses.size()) || identicalFinallyClause;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy