@Override public void filter() { // Filter and rename Model Fields based on package name and imports filteredModelFields = new TreeMap<String, ModelField[]>(SortHelper.ALPHABETICAL_ORDER_COMPARATOR); filteredModelFields.putAll( AsyncPackageDataModelOracleUtilities.filterModelFields( packageName, imports, projectModelFields, factNameToFQCNHandleRegistry)); // For filling the factNameToFQCNHandleRegistry AsyncPackageDataModelOracleUtilities.visitMethodInformation( projectMethodInformation, factNameToFQCNHandleRegistry); // Filter and rename Global Types based on package name and imports filteredGlobalTypes = new TreeMap<String, String>(SortHelper.ALPHABETICAL_ORDER_COMPARATOR); filteredGlobalTypes.putAll( AsyncPackageDataModelOracleUtilities.filterGlobalTypes( packageName, imports, packageGlobalTypes)); // Filter and rename Collection Types based on package name and imports filteredCollectionTypes = new HashMap<String, Boolean>(); filteredCollectionTypes.putAll( AsyncPackageDataModelOracleUtilities.filterCollectionTypes( packageName, imports, projectCollectionTypes)); // Filter and rename Event Types based on package name and imports filteredEventTypes = new HashMap<String, Boolean>(); filteredEventTypes.putAll( AsyncPackageDataModelOracleUtilities.filterEventTypes( packageName, imports, projectEventTypes)); // Filter and rename TypeSources based on package name and imports filteredTypeSources = new HashMap<String, TypeSource>(); filteredTypeSources.putAll( AsyncPackageDataModelOracleUtilities.filterTypeSources( packageName, imports, projectTypeSources)); // Filter and rename Declared Types based on package name and imports filteredSuperTypes = new HashMap<String, List<String>>(); filteredSuperTypes.putAll( AsyncPackageDataModelOracleUtilities.filterSuperTypes( packageName, imports, projectSuperTypes)); // Filter and rename Type Annotations based on package name and imports filteredTypeAnnotations = new HashMap<String, Set<Annotation>>(); filteredTypeAnnotations.putAll( AsyncPackageDataModelOracleUtilities.filterTypeAnnotations( packageName, imports, projectTypeAnnotations)); // Filter and rename Type Field Annotations based on package name and imports filteredTypeFieldsAnnotations = new HashMap<String, Map<String, Set<Annotation>>>(); filteredTypeFieldsAnnotations.putAll( AsyncPackageDataModelOracleUtilities.filterTypeFieldsAnnotations( packageName, imports, projectTypeFieldsAnnotations)); // Filter and rename Enum definitions based on package name and imports filteredEnumLists = new FilteredEnumLists(); filteredEnumLists.putAll(packageWorkbenchEnumLists); filteredEnumLists.putAll( AsyncPackageDataModelOracleUtilities.filterEnumDefinitions( packageName, imports, projectJavaEnumLists)); // Filter and rename based on package name and imports filteredFieldParametersType = new HashMap<String, String>(); filteredFieldParametersType.putAll( AsyncPackageDataModelOracleUtilities.filterFieldParametersTypes( packageName, imports, projectFieldParametersType)); }
@Override public boolean hasEnums(final String qualifiedFactField) { return filteredEnumLists.hasEnums(qualifiedFactField); }
/** * Check whether the childField is related to the parentField through a chain of enumeration * dependencies. Both fields belong to the same Fact Type. Furthermore code consuming this * function should ensure both parentField and childField relate to the same Fact Pattern * * @param factType * @param parentField * @param childField * @return */ @Override public boolean isDependentEnum( final String factType, final String parentField, final String childField) { return filteredEnumLists.isDependentEnum(factType, parentField, childField); }
@Override public String[] getEnumValues(String factType, String factField) { return filteredEnumLists.getEnumValues(factType, factField); }