/** * Retrieves the {@link FieldNameConverter} instance used for name conversion of all entity methods. */ public FieldNameConverter getFieldNameConverter() { return nameConverters.getFieldNameConverter(); }
/** * Retrieves the {@link FieldNameConverter} instance used for name conversion of all entity methods. */ public FieldNameConverter getFieldNameConverter() { return nameConverters.getFieldNameConverter(); }
private FieldNameConverter getFieldNameConverter() { return manager.getNameConverters().getFieldNameConverter(); }
private FieldNameConverter getFieldNameConverter() { return manager.getNameConverters().getFieldNameConverter(); }
static DDLTable[] parseDDL(DatabaseProvider provider, NameConverters nameConverters, Class<? extends RawEntity<?>>... classes) { final Map<Class<? extends RawEntity<?>>, Set<Class<? extends RawEntity<?>>>> deps = new HashMap<Class<? extends RawEntity<?>>, Set<Class<? extends RawEntity<?>>>>(); final Set<Class<? extends RawEntity<?>>> roots = new LinkedHashSet<Class<? extends RawEntity<?>>>(); for (Class<? extends RawEntity<?>> cls : classes) { parseDependencies(nameConverters.getFieldNameConverter(), deps, roots, cls); } ArrayList<DDLTable> parsedTables = new ArrayList<DDLTable>(); parseDDLRoots(provider, nameConverters, deps, roots, parsedTables); if (!deps.isEmpty()) { throw new RuntimeException("Circular dependency detected"); } return parsedTables.toArray(new DDLTable[parsedTables.size()]); }
static DDLTable[] parseDDL(DatabaseProvider provider, NameConverters nameConverters, Class<? extends RawEntity<?>>... classes) { final Map<Class<? extends RawEntity<?>>, Set<Class<? extends RawEntity<?>>>> deps = new HashMap<Class<? extends RawEntity<?>>, Set<Class<? extends RawEntity<?>>>>(); final Set<Class<? extends RawEntity<?>>> roots = new LinkedHashSet<Class<? extends RawEntity<?>>>(); for (Class<? extends RawEntity<?>> cls : classes) { parseDependencies(nameConverters.getFieldNameConverter(), deps, roots, cls); } ArrayList<DDLTable> parsedTables = new ArrayList<DDLTable>(); parseDDLRoots(provider, nameConverters, deps, roots, parsedTables); if (!deps.isEmpty()) { throw new RuntimeException("Circular dependency detected"); } return parsedTables.toArray(new DDLTable[parsedTables.size()]); }
public static List<String> getSearchableFields(EntityManager manager, Class<? extends RawEntity<?>> type) { List<String> back = new ArrayList<String>(); for (Method m : type.getMethods()) { Searchable annot = getAnnotationDelegate(manager.getNameConverters().getFieldNameConverter(), m).getAnnotation(Searchable.class); if (annot != null) { Class<?> attributeType = Common.getAttributeTypeFromMethod(m); String name = manager.getNameConverters().getFieldNameConverter().getName(m); // don't index Entity fields if (name != null && !RawEntity.class.isAssignableFrom(attributeType) && !back.contains(name)) { back.add(name); } } } return back; }
public IndexParser( final DatabaseProvider databaseProvider, final NameConverters nameConverters, final TypeManager typeManager ) { this.databaseProvider = databaseProvider; this.tableNameConverter = nameConverters.getTableNameConverter(); this.fieldNameConverter = nameConverters.getFieldNameConverter(); this.indexNameConverter = nameConverters.getIndexNameConverter(); this.typeManager = typeManager; }
public IndexParser( final DatabaseProvider databaseProvider, final NameConverters nameConverters, final TypeManager typeManager ) { this.databaseProvider = databaseProvider; this.tableNameConverter = nameConverters.getTableNameConverter(); this.fieldNameConverter = nameConverters.getFieldNameConverter(); this.indexNameConverter = nameConverters.getIndexNameConverter(); this.typeManager = typeManager; }
public static List<String> getSearchableFields(EntityManager manager, Class<? extends RawEntity<?>> type) { List<String> back = new ArrayList<String>(); for (Method m : type.getMethods()) { Searchable annot = getAnnotationDelegate(manager.getNameConverters().getFieldNameConverter(), m).getAnnotation(Searchable.class); if (annot != null) { Class<?> attributeType = Common.getAttributeTypeFromMethod(m); String name = manager.getNameConverters().getFieldNameConverter().getName(m); // don't index Entity fields if (name != null && !RawEntity.class.isAssignableFrom(attributeType) && !back.contains(name)) { back.add(name); } } } return back; }
private FieldNameConverter getFieldNameConverter() { return getManager().getNameConverters().getFieldNameConverter(); }
private FieldNameConverter getFieldNameConverter() { return getManager().getNameConverters().getFieldNameConverter(); }
/** * <p>Optimised read for large datasets. This method will stream all rows for the given type to the given * callback.</p> * * <p>Please see {@link #stream(Class, Query, EntityStreamCallback)} for details / limitations. * * @param type The type of the entities to retrieve. * @param streamCallback The receiver of the data, will be passed one entity per returned row */ public <T extends RawEntity<K>, K> void stream(Class<T> type, EntityStreamCallback<T, K> streamCallback) throws SQLException { final EntityInfo<T, K> entityInfo = resolveEntityInfo(type); final Set<String> valueFields = getValueFieldsNames(entityInfo, nameConverters.getFieldNameConverter()); final Query query = Query.select(); query.setFields(valueFields.toArray(new String[valueFields.size()])); stream(type, query, streamCallback); }
/** * <p>Optimised read for large datasets. This method will stream all rows for the given type to the given * callback.</p> * * <p>Please see {@link #stream(Class, Query, EntityStreamCallback)} for details / limitations. * * @param type The type of the entities to retrieve. * @param streamCallback The receiver of the data, will be passed one entity per returned row */ public <T extends RawEntity<K>, K> void stream(Class<T> type, EntityStreamCallback<T, K> streamCallback) throws SQLException { final EntityInfo<T, K> entityInfo = resolveEntityInfo(type); final Set<String> valueFields = getValueFieldsNames(entityInfo, nameConverters.getFieldNameConverter()); final Query query = Query.select(); query.setFields(valueFields.toArray(new String[valueFields.size()])); stream(type, query, streamCallback); }
public CachingNameConverters(NameConverters nameConverters) { Objects.requireNonNull(nameConverters, "nameConverters can't be null"); this.tableNameConverter = new CachingTableNameConverter(nameConverters.getTableNameConverter()); this.fieldNameConverter = nameConverters.getFieldNameConverter(); this.sequenceNameConverter = nameConverters.getSequenceNameConverter(); this.triggerNameConverter = nameConverters.getTriggerNameConverter(); this.indexNameConverter = nameConverters.getIndexNameConverter(); this.uniqueNameConverter = nameConverters.getUniqueNameConverter(); }
public CachingNameConverters(NameConverters nameConverters) { Objects.requireNonNull(nameConverters, "nameConverters can't be null"); this.tableNameConverter = new CachingTableNameConverter(nameConverters.getTableNameConverter()); this.fieldNameConverter = nameConverters.getFieldNameConverter(); this.sequenceNameConverter = nameConverters.getSequenceNameConverter(); this.triggerNameConverter = nameConverters.getTriggerNameConverter(); this.indexNameConverter = nameConverters.getIndexNameConverter(); this.uniqueNameConverter = nameConverters.getUniqueNameConverter(); }
/** * Not intended for public use. */ public static DDLTable parseInterface(DatabaseProvider provider, NameConverters nameConverters, Class<? extends RawEntity<?>> clazz) { String sqlName = nameConverters.getTableNameConverter().getName(clazz); DDLTable table = new DDLTable(); table.setName(sqlName); table.setFields(parseFields(provider, nameConverters.getFieldNameConverter(), clazz)); table.setForeignKeys(parseForeignKeys(nameConverters.getTableNameConverter(), nameConverters.getFieldNameConverter(), clazz)); table.setIndexes(parseIndexes(provider, nameConverters, clazz)); return table; }
/** * Not intended for public use. */ public static DDLTable parseInterface(DatabaseProvider provider, NameConverters nameConverters, Class<? extends RawEntity<?>> clazz) { String sqlName = nameConverters.getTableNameConverter().getName(clazz); DDLTable table = new DDLTable(); table.setName(sqlName); table.setFields(parseFields(provider, nameConverters.getFieldNameConverter(), clazz)); table.setForeignKeys(parseForeignKeys(nameConverters.getTableNameConverter(), nameConverters.getFieldNameConverter(), clazz)); table.setIndexes(parseIndexes(provider, nameConverters, clazz)); return table; }
@SuppressWarnings("unchecked") private FieldInfo createFieldInfo(String fieldName, Method accessor, Method mutator) { Class fieldType = Common.getAttributeTypeFromMethod(MoreObjects.firstNonNull(accessor, mutator)); AnnotationDelegate annotations = getAnnotations(accessor, mutator); Generator generatorAnnotation = annotations.getAnnotation(Generator.class); return new ImmutableFieldInfo( fieldName, fieldType.isAnnotationPresent(Polymorphic.class) ? nameConverters.getFieldNameConverter().getPolyTypeName(MoreObjects.firstNonNull(accessor, mutator)) : null, accessor, mutator, fieldType, typeManager.getType(fieldType), annotations.isAnnotationPresent(PrimaryKey.class), !annotations.isAnnotationPresent(NotNull.class), annotations.isAnnotationPresent(Transient.class), annotations.isAnnotationPresent(AutoIncrement.class), annotations.isAnnotationPresent(Default.class), generatorAnnotation != null ? generatorAnnotation.value() : null ); }
@SuppressWarnings("unchecked") private FieldInfo createFieldInfo(String fieldName, Method accessor, Method mutator) { Class fieldType = Common.getAttributeTypeFromMethod(MoreObjects.firstNonNull(accessor, mutator)); AnnotationDelegate annotations = getAnnotations(accessor, mutator); Generator generatorAnnotation = annotations.getAnnotation(Generator.class); return new ImmutableFieldInfo( fieldName, fieldType.isAnnotationPresent(Polymorphic.class) ? nameConverters.getFieldNameConverter().getPolyTypeName(MoreObjects.firstNonNull(accessor, mutator)) : null, accessor, mutator, fieldType, typeManager.getType(fieldType), annotations.isAnnotationPresent(PrimaryKey.class), !annotations.isAnnotationPresent(NotNull.class), annotations.isAnnotationPresent(Transient.class), annotations.isAnnotationPresent(AutoIncrement.class), annotations.isAnnotationPresent(Default.class), generatorAnnotation != null ? generatorAnnotation.value() : null ); }