THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
public class TypeConfiguration implements Serializable { /** Serial version UID. */ private static final long serialVersionUID = 0L; /** * Type name. Can be one of three things: * - Simple type name. Use it when type is not in classpath; * - Fully qualified type name. Prefer it when type is in classpath to avoid conflicts. * E.g. "my.package.employee.Address", "my.package.organization.Address"; * - Package wildcard. Must ends with ".*" in this case. E.g. "my.package.*". */ private String typeName; /** Used to configure single type when it is not in classpath. */ public void setTypeName(String); /** Used to configure specific class. Both typeName and packageName fields will be set. */ public void setClass(Class); /** Affinity key field name. */ private String affKeyFieldName; /** Type info extensions. */ private Map<Class<? extends TypeInfo>, ? extends TypeInfo> typeInfos; public voidTypeInfo[] setTypeInfo(TypeInfo... typeInfosgetTypeInfo() {...} public void TypeInfo[] getTypeInfo(setTypeInfo(TypeInfo... typeInfos) {...} public <T extends TypeInfo> T getTypeInfo(Class<T> infoCls) {...} } |
...
Code Block | ||
---|---|---|
| ||
public class PersistenceTypeInfo implements TypeInfo { /** Serial version UID. */ private static final long serialVersionUID = 0L; /** Schema name in database. */ private String dbSchema; /** Table name in database. */ private String dbTbl; /** Persisted fields. */ private Collection<PersistenceFieldInfo>Collection<PersistenceField> fields; } |
Code Block | ||
---|---|---|
| ||
public class PersistenceFieldInfoPersistenceField implements Serializable { /** Serial version UID. */ private static final long serialVersionUID = 0L; /** Column name in database. */ private String dbFieldName; /** Column JDBC type in database. */ private int dbFieldType; /** Field name in java object. */ private String javaFieldName; /** Corresponding java type. */ private Class<?> javaFieldType; } |
...
Code Block | ||
---|---|---|
| ||
public class QueryTypeInfo implements TypeInfo { /** Serial version UID. */ private static final long serialVersionUID = 0L; /** Fields. */ private QueryField[] flds; /** Field name-to-type map to be queried, in addition to indexed fieldsGroup indexes. */ private QueryCompoundIndex[] grpIdxs; /** Fields to index as text. */ private String[] txtIdxs; } |
Code Block | ||
---|---|---|
| ||
public class QueryField implements Serializable { /** Serial version UID. */@GridToStringInclude private Map<String, Class<?>> qryFlds static final long serialVersionUID = 0L; /** Field name-to-type map to index in ascending order. */ private String name; /** Field class. */ private @GridToStringIncludeClass cls; /** Whether to index the field. Disabled by default. */ private Map<String, Class<?>> ascFlds; QueryFieldIndexType idxTyp = QueryFieldIndexType.NONE; } |
Code Block | ||
---|---|---|
| ||
public enum QueryFieldIndexType { /** Do not index the field. */ Field name-to-type map to index in descending NONE, /** Ascending order. */ @GridToStringInclude ASC, /** Descending order. */ DESC } |
Code Block | ||
---|---|---|
| ||
public class QueryCompoundIndex implements Serializable { private Map<String, Class<?>> descFlds; /** FieldsSerial to index as textversion UID. */ private static final @GridToStringInclude private Collection<String> txtFlds; long serialVersionUID = 0L; /** Index name. */ String name; /** Fields to create group indexes for. */ @GridToStringInclude Participating fields. */ private QueryFieldInfo[] flds; } |
Notes
QueryFieldInfo.cls is a problem for non-Java users, because they have to write ugly things like "java.lang.Integer" which is very hard to understand for non-Java users. Lets switch to enum here?
Code Block | ||
---|---|---|
| ||
public class IgniteConfiguration {
/** Type configurations. */
private TypeConfiguration[] typeCfg;
public TypeConfiguration[] getTypeConfiguration();
public void setTypeConfiguration(TypeConfiguration... typeCfg);
} |
Code Block | ||
---|---|---|
| ||
public class CacheConfiguration { /** Type configurations. */ private Map<String, LinkedHashMap<String, IgniteBiTuple<Class<?>, Boolean>>> grps TypeConfiguration[] typeCfg; public TypeConfiguration[] getTypeConfiguration(); public void setTypeConfiguration(TypeConfiguration... typeCfg); } |