/*******************************************************************************
* Copyright (c) 2008,2010 itemis AG (http://www.itemis.eu) 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
*
*******************************************************************************/
package org.eclipse.emf.mwe2.language.mwe2.impl;
import org.eclipse.emf.mwe2.language.mwe2.Module;
import org.eclipse.emf.mwe2.language.mwe2.Value;
import org.eclipse.xtext.common.types.JvmType;
import static org.eclipse.emf.mwe2.language.mwe2.impl.JvmTypeUriFactory.*;
public class DeclaredPropertyImplCustom extends DeclaredPropertyImpl {
@Override
public String getIdentifier() {
Module module = getModule();
if (module != null) {
String moduleName = module.getCanonicalName();
if (name != null)
return moduleName + "." + name;
return moduleName + ".UNNAMED";
}
return name;
}
@Override
public String getSimpleName() {
return name;
}
@Override
public String getQualifiedName(char innerClassDelimiter) {
return getIdentifier();
}
@Override
public String getQualifiedName() {
return getIdentifier();
}
@Override
public JvmType getActualType() {
JvmType result = super.getActualType();
if (result != null)
return result;
Value value = getDefault();
if (value != null) {
return value.getActualType();
}
return findJvmType(JvmTypeUriFactory.getURIForFqn(String.class.getName()), this);
}
}