package iitb.cfilt.cpost.lexicon;
import java.util.*;

import iitb.cfilt.cpost.dmstemmer.MorphResult;

public class VerbReadjustmentRule {
	String suffixToAdd;
	String suffixToDelete;
	Vector<String> constraints;
	String perfectiveConstraint;
	String typeConstraint;
	String morphAnalysis;
	MorphResult morphValue;
	
	public VerbReadjustmentRule(String suffixToAdd, String suffixToDelete, Vector<String> constraints, String perfectiveConstraint, String typeConstraint, String morphAnalysis, MorphResult morphValue) {
		super();
		this.suffixToAdd = suffixToAdd;
		this.suffixToDelete = suffixToDelete;
		this.constraints = constraints;
		this.perfectiveConstraint = perfectiveConstraint;
		this.typeConstraint = typeConstraint;
		this.morphAnalysis = morphAnalysis;
		this.morphValue = morphValue;
	}

	public MorphResult getMorphValue() {
		return morphValue;
	}

	public void setMorphValue(MorphResult morphValue) {
		this.morphValue = morphValue;
	}

	public VerbReadjustmentRule(String suffixToAdd, String suffixToDelete, Vector<String> constraints, String perfectiveConstraint, String typeConstraint, String morphAnalysis) {		
		this.suffixToAdd = suffixToAdd;
		this.suffixToDelete = suffixToDelete;
		this.constraints = constraints;
		this.perfectiveConstraint = perfectiveConstraint;
		this.typeConstraint = typeConstraint;
		this.morphAnalysis = morphAnalysis;
	}
	
	public VerbReadjustmentRule(String suffixToAdd, String suffixToDelete, String perfectiveConstraint, String typeConstraint, String morphAnalysis) {		
		this.suffixToAdd = suffixToAdd;
		this.suffixToDelete = suffixToDelete;
		this.constraints = new Vector<String>();
		//this.constraints[0] = "";
		this.perfectiveConstraint = perfectiveConstraint;
		this.typeConstraint = typeConstraint;
		this.morphAnalysis = morphAnalysis;
	}
	
	
	public VerbReadjustmentRule() {		
		this.suffixToAdd = "";
		this.suffixToDelete = "";
		this.constraints = new Vector<String>();
		//this.constraints[0] = "";
		this.perfectiveConstraint = "";
		this.typeConstraint = "";
		this.morphAnalysis = "";
	}

	public Vector<String> getConstraints() {
		return constraints;
	}

	public void setConstraints(Vector<String> constraints) {
		this.constraints = constraints;
	}

	public String getMorphAnalysis() {
		return morphAnalysis;
	}

	public void setMorphAnalysis(String morphAnalysis) {
		this.morphAnalysis = morphAnalysis;
	}

	public String getPerfectiveConstraint() {
		return perfectiveConstraint;
	}

	public void setPerfectiveConstraint(String perfectiveConstraint) {
		this.perfectiveConstraint = perfectiveConstraint;
	}

	public String getSuffixToAdd() {
		return suffixToAdd;
	}

	public void setSuffixToAdd(String suffixToAdd) {
		this.suffixToAdd = suffixToAdd;
	}

	public String getSuffixToDelete() {
		return suffixToDelete;
	}

	public void setSuffixToDelete(String suffixToDelete) {
		this.suffixToDelete = suffixToDelete;
	}

	public String getTypeConstraint() {
		return typeConstraint;
	}

	public void setTypeConstraint(String typeConstraint) {
		this.typeConstraint = typeConstraint;
	}

}
