Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/wsdl/xsd/XMLCatalog.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/wsdl/xsd/XMLCatalog.java90
1 files changed, 90 insertions, 0 deletions
diff --git a/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/wsdl/xsd/XMLCatalog.java b/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/wsdl/xsd/XMLCatalog.java
new file mode 100644
index 000000000..7571a226c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/wsdl/xsd/XMLCatalog.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2002-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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.wsdl.xsd;
+
+/**
+ * XMLCatalog
+ * This class can be used to register, obtain and delete an instance of an
+ * XML catalog. Method definitions are provided for the catalog to set
+ * a location in the catalog and resolve an entity from the catalog.
+ *
+ * @author Lawrence Mandel (lmandel@ca.ibm.com)
+ */
+public abstract class XMLCatalog
+{
+ private static XMLCatalog instance = null;
+ private static Class xmlcatalogclass = null;
+
+ /**
+ * Return an instance of the XML catalog. If no instance is registered,
+ * returns a default instance.
+ *
+ * @return the instance of the XML catalog
+ */
+ public static XMLCatalog getInstance()
+ {
+ if (instance == null)
+ {
+ if (xmlcatalogclass != null)
+ {
+ try
+ {
+ instance = (XMLCatalog)xmlcatalogclass.newInstance();
+ }
+ catch (Exception e)
+ {
+ instance = new XMLCatalogImpl();
+ }
+ }
+ else
+ {
+ instance = new XMLCatalogImpl();
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * Set the class of the XML catalog to be used.
+ *
+ * @param xmlcatalog - the class of the XML catalog to be used
+ */
+ public static void setXMLCatalog(Class xmlcatalog)
+ {
+ xmlcatalogclass = xmlcatalog;
+ }
+
+ /**
+ * Resets the instance of the XML catalog to null. Allows switching XML catalogs.
+ */
+ public static void reset()
+ {
+ instance = null;
+ xmlcatalogclass = null;
+ }
+
+ /**
+ * Add a public id and a location to the catalog.
+ *
+ * @param publicId - the public id of the entry
+ * @param systemId - the system id of the entry
+ */
+ public abstract void addEntryToCatalog(String publicId, String systemId);
+
+ /**
+ * Resolve the location of an entity given public and system ids.
+ *
+ * @param publicId - the public id of the entity to be resolved
+ * @param systemId - the system id of the entity to be resolved
+ * @return the location of the entity
+ */
+ public abstract String resolveEntityLocation(String publicId, String systemId);
+} \ No newline at end of file

Back to the top