blob: 28c6975346e22e971f28e6b073e0e6d3a7058c83 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 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.jst.jsp.core.taglib;
/**
* A representation of information about a single tag library descriptor. This
* interface is common to all record types.
*
*
* @see IJarRecord
* @see ITagDirRecord
* @see ITLDRecord
* @see IURLRecord
* <p>
* This interface is not intended to be implemented by clients.
* </p>
*
* @since 1.0
*/
public interface ITaglibRecord {
/**
* A record to a .jar file referrable directly, 1.1 style, or mentioned in
* a web.xml file.
*/
int JAR = 1 << 1;
/**
* A record representing a folder of .tag/.tagx files
*/
int TAGDIR = 1 << 3;
/**
* A record representing a standalone .tld file
*/
int TLD = 1;
/**
* A record representing a .tld that is not a standalone file
*/
int URL = 1 << 2;
/**
* Returns the type of this record. The returned value will be one of
* <code>URL</code>, <code>TAGDIR</code>, <code>TLD</code>, or
* <code>JAR</code>.
* <p>
* <ul>
* <li> All records of type <code>JAR</code> implement
* <code>IJarRecord</code>.</li>
* <li> All records of type <code>TAGDIR</code> implement
* <code>ITagDirRecord</code>.</li>
* <li> All records of type <code>TLD</code> implement
* <code>ITLDRecord</code>.</li>
* <li> All records of type <code>URL</code> implement
* <code>IURLRecord</code>.</li>
* </ul>
* </p>
*
* @return the type of this resource
* @see #JAR
* @see #TAGDIR
* @see #TLD
* @see #URL
*/
int getRecordType();
}