blob: aa4b33b93b25b05cd51186fa097d6b3457642893 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Akos Horvath, Gergely Varro and Daniel Varro
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Akos Horvath, Gergely Varro - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.validation;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.internal.operation.CreateElement;
import org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.internal.operation.DeleteElement;
import org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.internal.operation.MoveElement;
import org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.internal.operation.SetRelation;
/** Holds the operations that needs to be validated
* @author Akos Horvath
*
*/
public class GTValidationElement {
Collection<DeleteElement> delOperations;
Collection<CreateElement> createOperations;
Collection<MoveElement> moveOperations;
Collection<SetRelation> setOperations;
//related operation, where the element is only used as a target or a source
//Collection<DeleteElement> relatedDelOperations;
Collection<CreateElement> relatedCreateOperations;
Collection<MoveElement> relatedMoveOperations;
Collection<SetRelation> relatedSetOperations;
public GTValidationElement(){
delOperations = new ArrayList<DeleteElement>();
createOperations = new ArrayList<CreateElement>();
moveOperations = new ArrayList<MoveElement>();
setOperations = new ArrayList<SetRelation>();
//relatedDelOperations = new ArrayList<DeleteElement>();
relatedCreateOperations = new ArrayList<CreateElement>();
relatedMoveOperations = new ArrayList<MoveElement>();
relatedSetOperations = new ArrayList<SetRelation>();
}
/**
* @return the createOperations
*/
public Collection<CreateElement> getCreateOperations() {
return createOperations;
}
/**
* @return the delOperations
*/
public Collection<DeleteElement> getDelOperations() {
return delOperations;
}
/**
* @return the moveOperations
*/
public Collection<MoveElement> getMoveOperations() {
return moveOperations;
}
/**
* @return the setOperations
*/
public Collection<SetRelation> getSetOperations() {
return setOperations;
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addCreateOperation(CreateElement op){
createOperations.add(op);
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addDelOperation(DeleteElement op){
delOperations.add(op);
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addMoveOperation(MoveElement op){
moveOperations.add(op);
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addSetOperation(SetRelation op){
setOperations.add(op);
}
/**
* @return the relatedCreateOperations
*/
public Collection<CreateElement> getRelatedCreateOperations() {
return relatedCreateOperations;
}
// /**
// * @return the relatedDelOperations
// */
// public Collection<DeleteElement> getRelatedDelOperations() {
// return relatedDelOperations;
// }
//
/**
* @return the relatedMoveOperations
*/
public Collection<MoveElement> getRelatedMoveOperations() {
return relatedMoveOperations;
}
/**
* @return the relatedSetOperations
*/
public Collection<SetRelation> getRelatedSetOperations() {
return relatedSetOperations;
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addRelatedCreateOperation(CreateElement op){
relatedCreateOperations.add(op);
}
/** Adds the operation to the appropriate collection
* @param op
*/
// public void addRelatedDelOperation(DeleteElement op){
// relatedDelOperations.add(op);
// }
/** Adds the operation to the appropriate collection
* @param op
*/
public void addRelatedMoveOperation(MoveElement op){
relatedMoveOperations.add(op);
}
/** Adds the operation to the appropriate collection
* @param op
*/
public void addRelatedSetOperation(SetRelation op){
relatedSetOperations.add(op);
}
}