/******************************************************************************* * Copyright (c) 2012 Google, Inc. * 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: * Google, Inc. - initial API and implementation *******************************************************************************/ package com.windowtester.codegen.assembly.unit; import java.util.ArrayList; import java.util.Collection; import java.util.List; import com.windowtester.codegen.assembly.ICodeRequirement; import com.windowtester.runtime.swt.internal.preferences.ICodeGenConstants; /** * A base class for basic code units. */ public class CodeUnit implements ICodeUnit, ICodeGenConstants { /** This code unit's javadoc */ private String _comment; /** This code unit's requirements */ private List _requirements; /** * Set documentation (e.g., javadoc comment) for this unit. * @param doc - documentation for this unit */ public void setComment(String doc) { _comment = doc; } /** * Get this unit's documentation. * @return Returns the unit's documentation. */ public String getComment() { return _comment; } /* (non-Javadoc) * @see com.windowtester.codegen.assembly.ICodeRequirement#getRequirements() */ public List getRequirements() { if (_requirements == null) _requirements = new ArrayList(); return _requirements; } /* (non-Javadoc) * @see com.windowtester.codegen.assembly.unit.ICodeUnit#addRequirement(com.windowtester.codegen.assembly.ICodeRequirement) */ public boolean addRequirement(ICodeRequirement requirement) { return getRequirements().add(requirement); } /* (non-Javadoc) * @see com.windowtester.codegen.assembly.unit.ICodeUnit#addRequirements(java.util.Collection) */ public boolean addRequirements(Collection requirements) { return _requirements.addAll(requirements); } /* (non-Javadoc) * @see com.windowtester.codegen.assembly.unit.ICodeUnit#removeRequirement(com.windowtester.codegen.assembly.ICodeRequirement) */ public boolean removeRequirement(ICodeRequirement requirement) { return getRequirements().remove(requirement); } }