public SimpleFactBuilder addField(final ModelField field) { super.addField(field); return this; }
public ModuleDataModelOracle build() { loadFactTypes(); loadEnums(); loadPackageNames(); return oracle; }
public ModuleDataModelOracleBuilder addEnum(final String enumDefinition, final ClassLoader classLoader) { parseEnumDefinition(enumDefinition, classLoader, evaluator); return this; }
protected ModuleDataModelOracle getModuleOracle(Class clazz) { try { final ModuleDataModelOracleBuilder builder = ModuleDataModelOracleBuilder.newModuleOracleBuilder(evaluator); final ClassFactBuilder modelFactBuilder = new ClassFactBuilder(builder, clazz, false, TypeSource.JAVA_PROJECT); ModuleDataModelOracle oracle = modelFactBuilder.getDataModelBuilder().build(); Map<String, FactBuilder> builders = new HashMap<>(); for (FactBuilder factBuilder : modelFactBuilder.getInternalBuilders().values()) { if (factBuilder instanceof ClassFactBuilder) { builders.put(((ClassFactBuilder) factBuilder).getType(), factBuilder); factBuilder.build((ModuleDataModelOracleImpl) oracle); } } builders.put(modelFactBuilder.getType(), modelFactBuilder); modelFactBuilder.build((ModuleDataModelOracleImpl) oracle); return oracle; } catch (IOException ex) { } return null; }
@Override public void build(final ModuleDataModelOracleImpl oracle) { super.build(oracle); oracle.addModuleMethodInformation(methodInformation); oracle.addModuleFieldParametersType(fieldParametersType); oracle.addModuleSuperTypes(buildSuperTypes()); oracle.addModuleTypeAnnotations(buildTypeAnnotations()); oracle.addModuleTypeFieldsAnnotations(buildTypeFieldsAnnotations()); }
@Override public void build(final ModuleDataModelOracleImpl oracle) { oracle.addModuleModelFields(buildModelFields()); oracle.addModuleCollectionTypes(buildCollectionTypes()); oracle.addModuleEventTypes(buildEventTypes()); oracle.addModuleTypeSources(buildTypeSources()); }
public ModuleDataModelOracle build() { addFromKieModuleMetadata(); addExternalImports(); return pdBuilder.build(); }
/** * Check if this method is a mutator or accessor method for a field. * <p/> * If method starts with set or get and is longer than 3 characters. * For example java.util.List.set(int index, Object element) is considered to be a method, not a setter. * * @param m */ private boolean isNotGetterOrSetter(final Method m) { return !(isSetter(m) || isGetter(m) || isBooleanGetter(m)); }
public BaseFactBuilder(final ModuleDataModelOracleBuilder builder, final Class<?> clazz, final boolean isEvent, final TypeSource typeSource) { this.builder = builder; this.type = getFullClassName(clazz); this.isCollection = isCollection(clazz); this.isEvent = isEvent; this.typeSource = typeSource; addField(new ModelField(DataType.TYPE_THIS, type, ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.SELF, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_THIS)); }
public ModuleDataModelOracleBuilder addClass(final Class clazz, final boolean isEvent) throws IOException { return addClass(clazz, isEvent, TypeSource.JAVA_PROJECT); }
public SimpleFactBuilder addFact(final String factType, final boolean isEvent) { return addFact(factType, isEvent, TypeSource.JAVA_PROJECT); }
public ModuleDataModelOracleBuilder addClass(final Class clazz, final boolean isEvent, final TypeSource typeSource) throws IOException { final FactBuilder builder = new ClassFactBuilder(this, discoveredFieldFactBuilders, clazz, isEvent, typeSource); factTypeBuilders.put(clazz.getName(), builder); return this; }
private Map<String, List<String>> buildSuperTypes() { final Map<String, List<String>> loadableSuperTypes = new HashMap<String, List<String>>(); loadableSuperTypes.put(getType(), superTypes); return loadableSuperTypes; }
public static ModuleDataModelOracleBuilder newModuleOracleBuilder(MVELEvaluator evaluator) { return new ModuleDataModelOracleBuilder(evaluator); }
private void addParametricTypeForField(final String className, final String fieldName, final Type type) { final String qualifiedFactFieldName = className + "#" + fieldName; final String parametricType = getParametricType(type); if (parametricType != null) { fieldParametersType.put(qualifiedFactFieldName, parametricType); } }
public SimpleFactBuilder addFact(final String factType, final boolean isEvent, final TypeSource typeSource) { final SimpleFactBuilder builder = new SimpleFactBuilder(this, factType, isEvent, typeSource); factTypeBuilders.put(factType, builder); return builder; }
public ModuleDataModelOracleBuilder addClass(final Class clazz) throws IOException { return addClass(clazz, false); }
public SimpleFactBuilder addFact(final String factType) { return addFact(factType, false); }
protected void discoverFieldFactBuilder(final String genericTypeName, final Class<?> genericType, final Map<String, FactBuilder> discoveredFieldFactBuilders) throws IOException { if (!discoveredFieldFactBuilders.containsKey(genericTypeName)) { discoveredFieldFactBuilders.put(genericTypeName, null); discoveredFieldFactBuilders.put(genericTypeName, new ClassFactBuilder(builder, discoveredFieldFactBuilders, genericType, false, typeSource)); } if (discoveredFieldFactBuilders.get(genericTypeName) != null) { fieldFactBuilders.put(genericTypeName, discoveredFieldFactBuilders.get(genericTypeName)); } }
private Map<String, Map<String, Set<Annotation>>> buildTypeFieldsAnnotations() { final Map<String, Map<String, Set<Annotation>>> loadableTypeFieldsAnnotations = new HashMap<String, Map<String, Set<Annotation>>>(); loadableTypeFieldsAnnotations.put(getType(), fieldAnnotations); return loadableTypeFieldsAnnotations; }