blob: 75b272d25e7c56daa222992f44559d14f98342a3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2006 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.html.ui.internal.contentproperties.ui;
import java.util.Enumeration;
import java.util.Iterator;
import org.eclipse.wst.css.core.internal.metamodel.CSSProfile;
import org.eclipse.wst.css.core.internal.metamodel.CSSProfileRegistry;
import org.eclipse.wst.html.core.internal.document.HTMLDocumentTypeEntry;
import org.eclipse.wst.html.core.internal.document.HTMLDocumentTypeRegistry;
import org.eclipse.wst.html.ui.internal.HTMLUIMessages;
import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames;
import org.eclipse.wst.sse.ui.internal.contentproperties.ui.ComboList;
/**
* @deprecated This class only contains helper methods that you should
* actually implement yourself.
*/
public final class ContentSettingsRegistry {
private static final String NONE = HTMLUIMessages.UI_none;
public static String maxLengthStringInHTMLDocumentTypeRegistry = ""; //$NON-NLS-1$
public static String maxLengthStringInCharacterCodeRegistry = ""; //$NON-NLS-1$
private ContentSettingsRegistry() {
}
public static void setHTMLDocumentTypeRegistryInto(ComboList combo) {
combo.add(NONE, ""); //$NON-NLS-1$
HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance();
Enumeration e = reg.getEntries();
while (e.hasMoreElements()) {
HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement();
String publicId = entry.getPublicId();
String displayName = entry.getDisplayName();
if (displayName != null) {
combo.add(displayName, publicId);
if (displayName.length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
maxLengthStringInHTMLDocumentTypeRegistry = displayName;
}
else
combo.add(publicId, publicId);
if (publicId.length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
maxLengthStringInHTMLDocumentTypeRegistry = publicId;
if (entry.getSystemId() == null)
continue; // if HTML entry
if (entry.getSystemId().length() > maxLengthStringInHTMLDocumentTypeRegistry.length())
maxLengthStringInHTMLDocumentTypeRegistry = entry.getSystemId();
}
combo.sortByKey(1);
}
public static void setCSSMetaModelRegistryInto(ComboList combo) {
combo.add(NONE, ""); //$NON-NLS-1$
CSSProfileRegistry reg = CSSProfileRegistry.getInstance();
Iterator i = reg.getProfiles();
while (i.hasNext()) {
CSSProfile profile = (CSSProfile) i.next();
String id = profile.getProfileID();
String name = profile.getProfileName();
combo.add(name, id);
}
combo.sortByKey(1);
}
public static void setDeviceProfileRegistryInto(ComboList combo) {
combo.add(NONE, ""); //$NON-NLS-1$
DeviceProfileEntryProvider reg = DeviceProfileEntryProviderBuilder.getEntryProvider();
if (reg == null) {
return;
}
Iterator profiles = reg.getDeviceProfileEntries();
if (profiles == null) {
reg.release();
return;
}
DeviceProfileEntry entry;
while (profiles.hasNext()) {
entry = (DeviceProfileEntry) profiles.next();
combo.add(entry.getEntryName(), entry.getEntryId());
entry.release();
}
reg.release();
combo.sortByKey(1);
}
public static String getSystemIdFrom(String publicId) {
if (publicId == null || publicId.length() == 0)
return null;
HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance();
Enumeration e = reg.getEntries();
while (e.hasMoreElements()) {
HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement();
if (entry.getPublicId().equals(publicId))
return entry.getSystemId();
}
return null;
}
public static void setContentTypeInto(ComboList combo) {
String[] type = {"", //$NON-NLS-1$
"application/xhtml+xml", //$NON-NLS-1$
"application/xml", //$NON-NLS-1$
"text/html", //$NON-NLS-1$
"text/xml",}; //$NON-NLS-1$
String[] displayName = {NONE, "application/xhtml+xml", //$NON-NLS-1$
//$NON-NLS-1$
"application/xml", //$NON-NLS-1$
"text/html", //$NON-NLS-1$
"text/xml",}; //$NON-NLS-1$
for (int i = 0; i < type.length; i++) {
if (displayName[i] != null && displayName[i].length() != 0)
combo.add(displayName[i], type[i]);
else
combo.add(type[i], type[i]);
}
}
public static void setCharacterCodeInto(ComboList combo) {
combo.add(NONE, ""); //$NON-NLS-1$
String max = ""; //$NON-NLS-1$
// CommonCharsetNames encoding = new CommonCharsetNames();
String[] charCode = CommonCharsetNames.getCommonCharsetNames();
for (int i = 0; i < charCode.length; i++) {
String displayName = CommonCharsetNames.getDisplayString(charCode[i]);
if (displayName != null && displayName.length() != 0) {
combo.add(displayName, charCode[i]);
int n_byte = displayName.getBytes().length;
if (max.getBytes().length < n_byte)
max = displayName;
}
else
combo.add(charCode[i], charCode[i]);
}
/*
* charCode = encoding.getSupportedJavaEncodings(); for(int i=0;i<charCode.length;i++){
* String displayName = encoding.getDisplayString(charCode[i]); if
* (displayName!=null && displayName.length()!=0)
* combo.add(displayName,charCode[i]); else
* combo.add(charCode[i],charCode[i]); }
*/
// combo.sortByKey(1);
maxLengthStringInCharacterCodeRegistry = max;
}
public static void setLanguageInto(ComboList combo) {
String[] lang = {"", //$NON-NLS-1$
"java", //$NON-NLS-1$
"javascript",}; //$NON-NLS-1$
String[] displayName = {NONE, "java", //$NON-NLS-1$
//$NON-NLS-1$
"javascript",}; //$NON-NLS-1$
for (int i = 0; i < lang.length; i++) {
if (displayName[i] != null && displayName[i].length() != 0)
combo.add(displayName[i], lang[i]);
else
combo.add(lang[i], lang[i]);
}
}
}