@Nullable public static DomNameStrategy getDomNameStrategy(final Class<?> rawType, boolean isAttribute) { Class aClass = null; if (isAttribute) { NameStrategyForAttributes annotation = DomReflectionUtil.findAnnotationDFS(rawType, NameStrategyForAttributes.class); if (annotation != null) { aClass = annotation.value(); } } if (aClass == null) { NameStrategy annotation = DomReflectionUtil.findAnnotationDFS(rawType, NameStrategy.class); if (annotation != null) { aClass = annotation.value(); } } if (aClass != null) { if (HyphenNameStrategy.class.equals(aClass)) return DomNameStrategy.HYPHEN_STRATEGY; if (JavaNameStrategy.class.equals(aClass)) return DomNameStrategy.JAVA_STRATEGY; try { return (DomNameStrategy) aClass.newInstance(); } catch (InstantiationException e) { LOG.error(e); } catch (IllegalAccessException e) { LOG.error(e); } } return null; }
@Override public Collection<VirtualFile> getDomFileCandidates( Class<? extends DomElement> rootElementClass, Project project, final GlobalSearchScope scope) { return FileBasedIndex.getInstance() .getContainingFiles(DomFileIndex.NAME, rootElementClass.getName(), scope); }
public static <T> T getImmediateParent(ConvertContext context, Class<T> clazz) { DomElement parentElement = context.getInvocationElement().getParent(); return clazz.isInstance(parentElement) ? (T) parentElement : null; }
public Collection<VirtualFile> getDomFileCandidates( Class<? extends DomElement> description, Project project) { return FileBasedIndex.getInstance() .getContainingFiles( DomFileIndex.NAME, description.getName(), GlobalSearchScope.allScope(project)); }