/** * Gets an existing {@link JavaClassModel}, however if none currently exists, then create a {@link PhantomJavaClassModel}.<br/> * * This is intended to indicate that we know about a class by reference (for example another class subclasses it, or it is referenced in an XML * file), but we do not yet have a location on the disk for the class (or source) file itself. * * To create a class (possibly converting a {@link PhantomJavaClassModel} to concrete in the process), use {@link JavaClassService#create(String)} * instead. */ public synchronized JavaClassModel getOrCreatePhantom(String qualifiedName) { JavaClassModel result = resolveByQualifiedName(qualifiedName); if (result == null) { // create a phantom result = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).create(); setPropertiesFromName(result, qualifiedName); } return result; }
/** * Gets an existing {@link JavaClassModel}, however if none currently exists, then create a {@link PhantomJavaClassModel}.<br/> * * This is intended to indicate that we know about a class by reference (for example another class subclasses it, or it is referenced in an XML * file), but we do not yet have a location on the disk for the class (or source) file itself. * * To create a class (possibly converting a {@link PhantomJavaClassModel} to concrete in the process), use {@link JavaClassService#create(String)} * instead. */ public synchronized JavaClassModel getOrCreatePhantom(String qualifiedName) { JavaClassModel result = resolveByQualifiedName(qualifiedName); if (result == null) { // create a phantom result = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).create(); setPropertiesFromName(result, qualifiedName); } return result; }
/** * Gets an existing {@link JavaClassModel}, however if none currently exists, then create a {@link PhantomJavaClassModel}.<br/> * * This is intended to indicate that we know about a class by reference (for example another class subclasses it, or it is referenced in an XML * file), but we do not yet have a location on the disk for the class (or source) file itself. * * To create a class (possibly converting a {@link PhantomJavaClassModel} to concrete in the process), use {@link JavaClassService#create(String)} * instead. */ public synchronized JavaClassModel getOrCreatePhantom(String qualifiedName) { JavaClassModel result = resolveByQualifiedName(qualifiedName); if (result == null) { // create a phantom result = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).create(); setPropertiesFromName(result, qualifiedName); } return result; }
/** * Indicates that we have found a .class or .java file for the given qualified name. This will either create a new {@link JavaClassModel} or * convert an existing {@link PhantomJavaClassModel} if one exists. */ public synchronized JavaClassModel create(String qualifiedName) { // if a phantom exists, just convert it PhantomJavaClassModel phantom = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).getUniqueByProperty( JavaClassModel.QUALIFIED_NAME, qualifiedName); if (phantom != null) { GraphService.removeTypeFromModel(getGraphContext(), phantom, PhantomJavaClassModel.class); return phantom; } JavaClassModel javaClassModel = super.create(); setPropertiesFromName(javaClassModel, qualifiedName); return javaClassModel; }
/** * Indicates that we have found a .class or .java file for the given qualified name. This will either create a new {@link JavaClassModel} or * convert an existing {@link PhantomJavaClassModel} if one exists. */ public synchronized JavaClassModel create(String qualifiedName) { // if a phantom exists, just convert it PhantomJavaClassModel phantom = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).getUniqueByProperty( JavaClassModel.QUALIFIED_NAME, qualifiedName); if (phantom != null) { GraphService.removeTypeFromModel(getGraphContext(), phantom, PhantomJavaClassModel.class); return phantom; } JavaClassModel javaClassModel = super.create(); setPropertiesFromName(javaClassModel, qualifiedName); return javaClassModel; }
/** * Indicates that we have found a .class or .java file for the given qualified name. This will either create a new {@link JavaClassModel} or * convert an existing {@link PhantomJavaClassModel} if one exists. */ public synchronized JavaClassModel create(String qualifiedName) { // if a phantom exists, just convert it PhantomJavaClassModel phantom = new GraphService<>(getGraphContext(), PhantomJavaClassModel.class).getUniqueByProperty( JavaClassModel.QUALIFIED_NAME, qualifiedName); if (phantom != null) { GraphService.removeTypeFromModel(getGraphContext(), phantom, PhantomJavaClassModel.class); return phantom; } JavaClassModel javaClassModel = super.create(); setPropertiesFromName(javaClassModel, qualifiedName); return javaClassModel; }