/*******************************************************************************
 * Copyright (c) 2009 by SAP AG, Walldorf. 
 * 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:
 *     SAP AG - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.ws.jaxws.dom.runtime.persistence;

public final class WMAnnotationFeatures
{

	public static final String WM_ANNOTATION = "javax.jws.WebMethod";//$NON-NLS-1$

	public static final String WM_NAME_ATTRIBUTE = "operationName";//$NON-NLS-1$

	public static final String WM_EXCLUDED_ATTRIBUTE = "exclude";//$NON-NLS-1$

	private WMAnnotationFeatures()
	{
	}
}
