/** * <copyright> * </copyright> * * $Id$ */ package org.jboss.tools.smooks.graphical.editors.process; import java.beans.PropertyChangeSupport; import java.util.ArrayList; import java.util.List; import org.jboss.tools.smooks.configuration.editors.IFieldMarker; import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig; /** * <!-- begin-user-doc --> An implementation of the model object ' * <em><b>Task Type</b></em>'. <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li> * {@link org.jboss.tools.smooks.model.graphics.ext.impl.TaskTypeImpl#getTask * <em>Task</em>}</li> * <li>{@link org.jboss.tools.smooks.model.graphics.ext.impl.TaskTypeImpl#getId * <em>Id</em>}</li> * <li> * {@link org.jboss.tools.smooks.model.graphics.ext.impl.TaskTypeImpl#getName * <em>Name</em>}</li> * <li> * {@link org.jboss.tools.smooks.model.graphics.ext.impl.TaskTypeImpl#getType * <em>Type</em>}</li> * </ul> * </p> * * @generated */ public class TaskTypeImpl implements TaskType { private PropertyChangeSupport propertyChangeSupport = null; private Object parent; private List<AbstractResourceConfig> taskResources = null; private int problemType = IFieldMarker.TYPE_NONE; private List<String> problemMessages = null; public List<String> getProblemMessages() { if (problemMessages == null) { problemMessages = new ArrayList<String>(); } return problemMessages; } public void addProblemMessage(String message) { getProblemMessages().add(message); } public void removeProblemMessage(String message) { getProblemMessages().remove(message); } public void cleanProblemMessages() { getProblemMessages().clear(); } public int getProblemType() { return problemType; } public void setProblemType(int problemType) { if (this.problemType == IFieldMarker.TYPE_ERROR && problemType == IFieldMarker.TYPE_WARINING) { return; } this.problemType = problemType; } /** * @return the propertyChangeSupport */ public PropertyChangeSupport getPropertyChangeSupport() { return propertyChangeSupport; } /** * @param propertyChangeSupport * the propertyChangeSupport to set */ public void setPropertyChangeSupport(PropertyChangeSupport propertyChangeSupport) { this.propertyChangeSupport = propertyChangeSupport; } /** * @return the parent */ public Object getParent() { return parent; } /** * @param parent * the parent to set */ public void setParent(Object parent) { this.parent = parent; } public List<AbstractResourceConfig> getTaskResources() { if (taskResources == null) { taskResources = new ArrayList<AbstractResourceConfig>(); } return taskResources; } /** * The cached value of the '{@link #getTask() <em>Task</em>}' containment * reference list. <!-- begin-user-doc --> <!-- end-user-doc --> * * @see #getTask() * @generated * @ordered */ protected List<TaskType> task; /** * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @see #getId() * @generated * @ordered */ protected static final String ID_EDEFAULT = null; /** * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- * begin-user-doc --> <!-- end-user-doc --> * * @see #getId() * @generated * @ordered */ protected String id = ID_EDEFAULT; /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * * @see #getName() * @generated * @ordered */ protected static final String NAME_EDEFAULT = null; /** * The cached value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * * @see #getName() * @generated * @ordered */ protected String name = NAME_EDEFAULT; /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * * @see #getType() * @generated * @ordered */ protected static final String TYPE_EDEFAULT = null; /** * The cached value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * * @see #getType() * @generated * @ordered */ protected String type = TYPE_EDEFAULT; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ protected TaskTypeImpl() { super(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public List<TaskType> getTask() { if (task == null) { task = new ArrayList<TaskType>(); } return task; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public String getId() { return id; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public void setId(String newId) { String oldId = name; id = newId; if (propertyChangeSupport != null) propertyChangeSupport.firePropertyChange(ProcessType.PRO_ID_CHANGE, oldId, newId); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public String getName() { return name; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public void setName(String newName) { String oldName = name; name = newName; if (propertyChangeSupport != null) propertyChangeSupport.firePropertyChange(ProcessType.PRO_NAME_CHANGE, oldName, newName); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public String getType() { return type; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public void setType(String newType) { type = newType; } public void addTask(TaskType task) { if (task != null) { this.getTask().add(task); task.setParent(this); task.setPropertyChangeSupport(propertyChangeSupport); if (propertyChangeSupport != null) propertyChangeSupport.firePropertyChange(ProcessType.PRO_ADD_CHILD, null, task); } } public void removeTask(TaskType task) { if (task != null) { this.getTask().remove(task); task.setParent(null); task.setPropertyChangeSupport(null); if (propertyChangeSupport != null) propertyChangeSupport.firePropertyChange(ProcessType.PRO_REMOVE_CHILD, task, null); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public String toString() { StringBuffer result = new StringBuffer(super.toString()); result.append(" (id: "); //$NON-NLS-1$ result.append(id); result.append(", name: "); //$NON-NLS-1$ result.append(name); result.append(", type: "); //$NON-NLS-1$ result.append(type); result.append(')'); return result.toString(); } public void addTaskResource(AbstractResourceConfig smooksResource) { getTaskResources().add(smooksResource); } public boolean inTheTask(AbstractResourceConfig smooksResource) { if(taskResources == null) { return false; } return taskResources.contains(smooksResource); } public void removeTaskResource(AbstractResourceConfig smooksResource) { getTaskResources().remove(smooksResource); } } // TaskTypeImpl