org.eclipse.xtend.shared.ui.core.metamodel.jdt
Class JdtMetaModel

java.lang.Object
  extended by org.eclipse.xtend.shared.ui.core.metamodel.jdt.JdtMetaModel
All Implemented Interfaces:
java.util.EventListener, org.eclipse.core.resources.IResourceChangeListener, org.eclipse.jdt.core.IElementChangedListener, MetaModel

public class JdtMetaModel
extends java.lang.Object
implements MetaModel, org.eclipse.jdt.core.IElementChangedListener, org.eclipse.core.resources.IResourceChangeListener


Field Summary
 boolean changed
           
protected  TypeSystem typesystem
           
 
Constructor Summary
JdtMetaModel(java.lang.String name, org.eclipse.jdt.core.IJavaProject project, JdtTypeStrategy strategy)
           
 
Method Summary
static JdtMetaModel create(java.lang.String name, org.eclipse.jdt.core.IJavaProject project, JdtTypeStrategy strategy)
           
 void elementChanged(org.eclipse.jdt.core.ElementChangedEvent event)
           
 org.eclipse.jdt.core.IType findType(org.eclipse.jdt.core.IJavaProject project, java.lang.String typeName)
           
 java.lang.String getFullyQualifiedName(java.lang.String signature, org.eclipse.jdt.core.IType usingType)
           
 java.util.Set<? extends Type> getKnownTypes()
          returns all types this metamodel is responsible for
 java.lang.String getName()
           
 java.util.Set<java.lang.String> getNamespaces()
          Returns all namespaces provided by this metamodel.
 Type getType(java.lang.Object obj)
          if this metamodel is responsible for a types which are responsible for the given object, it returns the corresponding type.
protected  Type getType(java.lang.String fqn)
           
 Type getTypeForClass(org.eclipse.jdt.core.IType clazz)
           
 Type getTypeForName(java.lang.String typeName)
          if this metamodel is responsible for a type with the given name, it returns the corresponding type.
 TypeSystem getTypeSystem()
          Returns the underlying typesystem.
 void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
           
 void setTypeSystem(TypeSystem typeSystem)
          Sets the underlying typesystem.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

typesystem

protected TypeSystem typesystem

changed

public boolean changed
Constructor Detail

JdtMetaModel

public JdtMetaModel(java.lang.String name,
                    org.eclipse.jdt.core.IJavaProject project,
                    JdtTypeStrategy strategy)
Method Detail

getTypeSystem

public TypeSystem getTypeSystem()
Description copied from interface: MetaModel
Returns the underlying typesystem.

Specified by:
getTypeSystem in interface MetaModel
Returns:
the typesystem

setTypeSystem

public void setTypeSystem(TypeSystem typeSystem)
Description copied from interface: MetaModel
Sets the underlying typesystem.

Specified by:
setTypeSystem in interface MetaModel
Parameters:
typeSystem - the typesystem

elementChanged

public void elementChanged(org.eclipse.jdt.core.ElementChangedEvent event)
Specified by:
elementChanged in interface org.eclipse.jdt.core.IElementChangedListener

resourceChanged

public void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
Specified by:
resourceChanged in interface org.eclipse.core.resources.IResourceChangeListener

create

public static final JdtMetaModel create(java.lang.String name,
                                        org.eclipse.jdt.core.IJavaProject project,
                                        JdtTypeStrategy strategy)

getType

protected Type getType(java.lang.String fqn)
                throws org.eclipse.jdt.core.JavaModelException
Throws:
org.eclipse.jdt.core.JavaModelException

getTypeForName

public Type getTypeForName(java.lang.String typeName)
Description copied from interface: MetaModel
if this metamodel is responsible for a type with the given name, it returns the corresponding type. Otherwise returns null

Specified by:
getTypeForName in interface MetaModel
Parameters:
typeName - name of type
Returns:
the corresponding type

getType

public Type getType(java.lang.Object obj)
Description copied from interface: MetaModel
if this metamodel is responsible for a types which are responsible for the given object, it returns the corresponding type. Otherwise returns null

Specified by:
getType in interface MetaModel
Parameters:
obj - object for which a corresponding object is requested
Returns:
the corresponding type

getTypeForClass

public Type getTypeForClass(org.eclipse.jdt.core.IType clazz)

getKnownTypes

public java.util.Set<? extends Type> getKnownTypes()
Description copied from interface: MetaModel
returns all types this metamodel is responsible for

Specified by:
getKnownTypes in interface MetaModel
Returns:
set of known types

getName

public java.lang.String getName()

getFullyQualifiedName

public java.lang.String getFullyQualifiedName(java.lang.String signature,
                                              org.eclipse.jdt.core.IType usingType)

findType

public org.eclipse.jdt.core.IType findType(org.eclipse.jdt.core.IJavaProject project,
                                           java.lang.String typeName)
                                    throws org.eclipse.jdt.core.JavaModelException
Throws:
org.eclipse.jdt.core.JavaModelException

getNamespaces

public java.util.Set<java.lang.String> getNamespaces()
Description copied from interface: MetaModel
Returns all namespaces provided by this metamodel.

Specified by:
getNamespaces in interface MetaModel
Returns:
A Set containing the names of all namespaces provided by this metamodel.