/******************************************************************************* * Copyright (c) 2004, 2006 Sybase, Inc. and others. * * 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: *     Sybase, Inc. - initial API and implementation *******************************************************************************/package org.eclipse.jst.jsf.facesconfig.ui.preference;import org.eclipse.draw2d.ColorConstants;import org.eclipse.swt.graphics.Color;/** *  */public class OutputPortFigure extends PortFigure{	public static Color defaultForegroundColor = ColorConstants.black;	public static Color defaultBackgroundColor = ColorConstants.white;	/**	 * 	 * 	 * 	 */	public OutputPortFigure()	{		super(FigureConstants.OUTPUT_PORT);		setBackgroundColor(defaultBackgroundColor);		setForegroundColor(defaultForegroundColor);	}}