blob: ba3fb68af3bc61a57471581bd713f3410c0449fa [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 Oracle 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:
* Oracle Corporation - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.jst.jsf.common.metadata.internal;
import org.eclipse.core.resources.IProject;
/**
* Implementation of IMetaDataModelContext2
*
*/
public final class MetaDataModelContext implements IMetaDataModelContext {
private final IProject _project;
private final String _domainId;
private final String _modelId;
/**
* @param project
* @param domainId
* @param modelId
*/
public MetaDataModelContext(final IProject project, final String domainId, final String modelId) {
_project = project;
_domainId = domainId;
_modelId = fixJSPURIIfNecessary(modelId); //major hack carried forward from ModelKeyDescriptor!
}
//this is a workaround for issue where jsp "uri" may upper or lower cased
private String fixJSPURIIfNecessary(final String tempuri) {
if (tempuri != null && tempuri.equals("jsp11")) //$NON-NLS-1$
return tempuri.toUpperCase();
return tempuri;
}
public Object getAdapter(Class adapter) {
if (adapter == ModelKeyDescriptor.class)
return new ModelKeyDescriptor(_project, _domainId, _modelId);
if (adapter == IProject.class)
return _project;
return null;
}
// /**
// * @return project
// */
// public IProject getProject() {
// return _project;
// }
public String getDomainId() {
return _domainId;
}
public String getModelIdentifier() {
return _modelId;
}
@Override
public String toString() {
final StringBuffer buf = new StringBuffer();
if (_project != null) {
buf.append(_project.getName()).append(":"); //$NON-NLS-1$
}
buf.append(getDomainId()).append(":"); //$NON-NLS-1$
buf.append(getModelIdentifier()).append(":"); //$NON-NLS-1$
return buf.toString();
}
}