/*******************************************************************************
 * Copyright (c) 2001, 2004 IBM Corporation 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:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

package org.eclipse.wst.ws.internal.explorer.platform.wsil.constants;

public class WsilModelConstants
{
    // Relation
    public final static String REL_WSIL = "relWSIL";

    // List Managers for WsilElement
    public final static String LIST_MANAGER_WSDL_SERVICES = "wsdlServices";
    public final static String LIST_MANAGER_UDDI_SERVICES = "uddiServices";
    public final static String LIST_MANAGER_UDDI_LINKS = "uddiLinks";
    public final static String LIST_MANAGER_WSIL_LINKS = "wsilLinks";
}
