blob: bdcea510ac940c9ca4326a0aed89f96d59373e61 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 by SAP AG, Walldorf.
* 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:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.ws.jaxws.utils.internal.annotations.impl;
import org.eclipse.jdt.core.dom.AST;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.Expression;
import org.eclipse.jdt.core.dom.Name;
import org.eclipse.jdt.core.dom.SimpleType;
import org.eclipse.jdt.core.dom.TypeLiteral;
public class ClassValueImpl extends ValueImpl
{
private String classQName;
public ClassValueImpl(String classQName)
{
this.classQName = classQName;
}
protected Expression getExpression(CompilationUnit unit, AST ast)
{
String clsName = this.classQName;
if (addImports(ast, unit, clsName))
{
clsName = getSimpleName(clsName);
}
Name name = ast.newName(clsName);
SimpleType simpleType = ast.newSimpleType(name);
TypeLiteral literal = ast.newTypeLiteral();
literal.setType(simpleType);
return literal;
}
@Override
public String toString()
{
return this.classQName;
}
@Override
public int hashCode()
{
return this.classQName.hashCode();
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (obj == null)
{
return false;
}
if (getClass() != obj.getClass())
{
return false;
}
final ClassValueImpl other = (ClassValueImpl) obj;
return this.classQName.equals(other.classQName);
}
}