程序包 gu.sql2java

类 RowMetaData

java.lang.Object
gu.sql2java.RowMetaData
所有已实现的接口:
IRowMetaData

public class RowMetaData extends Object implements IRowMetaData
meta data used to define a table
作者:
guyadong
  • 字段详细资料

    • UNKNOW_TABLENAME

      protected static final String UNKNOW_TABLENAME
      另请参阅:
    • UNKNOW_TABLETYPE

      protected static final String UNKNOW_TABLETYPE
      另请参阅:
    • tablename

      public final String tablename
    • tableType

      public final String tableType
    • beanType

      public final Class<? extends BaseBean> beanType
    • coreClass

      public final String coreClass
    • managerInterfaceClass

      public final Class<? extends TableManager<?>> managerInterfaceClass
    • alias

      public final String alias
    • columnNames

      public final com.google.common.collect.ImmutableList<String> columnNames
    • columnTypeNames

      public final com.google.common.collect.ImmutableList<String> columnTypeNames
      从以下版本开始:
      3.18.0
    • columnFields

      public final String columnFields
    • columnFullFields

      public final String columnFullFields
    • columnFullFieldList

      public com.google.common.collect.ImmutableList<String> columnFullFieldList
    • columnJavaNames

      public final com.google.common.collect.ImmutableList<String> columnJavaNames
    • getterMethods

      public final com.google.common.collect.ImmutableList<Method> getterMethods
    • setterMethods

      public final com.google.common.collect.ImmutableList<Method> setterMethods
    • readMethods

      public final List<Method> readMethods
      从以下版本开始:
      3.18.0
    • writeMethods

      public final List<Method> writeMethods
      从以下版本开始:
      3.18.0
    • columnTypes

      public final com.google.common.collect.ImmutableList<Class<?>> columnTypes
    • fieldTypes

      public final com.google.common.collect.ImmutableList<Class<?>> fieldTypes
      从以下版本开始:
      3.18.1
    • jdbcTypes

      public final com.google.common.collect.ImmutableList<Class<?>> jdbcTypes
      从以下版本开始:
      3.21.0
    • defaultColumnIdList

      public final int[] defaultColumnIdList
    • columnSizes

      public final int[] columnSizes
    • sqlTypes

      public final int[] sqlTypes
    • typesMap

      public final com.google.common.collect.ImmutableMap<String,Class<?>> typesMap
    • columnCount

      public final int columnCount
    • primaryKeyIds

      public final int[] primaryKeyIds
    • primaryKeyNames

      public final String[] primaryKeyNames
    • primaryKeyCount

      public final int primaryKeyCount
    • primaryKeyTypes

      public final Class<?>[] primaryKeyTypes
    • lockColumnType

      public final Class<?> lockColumnType
    • lockColumnName

      public final String lockColumnName
    • foreignKeys

      public final Map<String,gu.sql2java.ForeignKeyMetaData> foreignKeys
      tablename-ForeignKeyMetaData map
    • foreignKeysRn

      public final Map<String,gu.sql2java.ForeignKeyMetaData> foreignKeysRn
      universal name-ForeignKeyMetaData map
    • indices

      public final Map<String,IndexMetaData> indices
    • indicesRn

      public final Map<String,IndexMetaData> indicesRn
    • COLUMNID_FUN

      public final com.google.common.base.Function<String,Integer> COLUMNID_FUN
    • COLUMNNAME_FUN

      public final com.google.common.base.Function<Integer,String> COLUMNNAME_FUN
    • COLUMNTYPE_FUN

      public final com.google.common.base.Function<String,Class<?>> COLUMNTYPE_FUN
    • JDBCTYPE_FUN

      public final com.google.common.base.Function<String,Class<?>> JDBCTYPE_FUN
      从以下版本开始:
      3.22.0
    • autoincrementColumnId

      public final int autoincrementColumnId
    • columnCodecs

      public final ColumnCodec[] columnCodecs
      从以下版本开始:
      3.21.0
    • columnJsonSerializers

      public final com.alibaba.fastjson.serializer.ObjectSerializer[] columnJsonSerializers
      从以下版本开始:
      3.27.0
    • visibilities

      public final com.google.common.collect.ImmutableList<ColumnVisibility> visibilities
      从以下版本开始:
      3.32.0
  • 构造器详细资料

  • 方法详细资料

    • jsonSerializerOf

      public com.alibaba.fastjson.serializer.ObjectSerializer jsonSerializerOf(int columnId)
    • columnNameOf

      public String columnNameOf(int columnId)
      return column name specified by column id
      参数:
      columnId - column id
      返回:
      column name or null if columnId is invalid
    • columnJavaNameOf

      public String columnJavaNameOf(int columnId)
      return camel-case Java name of column specified by column id
      参数:
      columnId - column id
      返回:
      column name or null if columnId is invalid
    • fullNameOf

      public String fullNameOf(int columnId)
      return column full name(with table name,such as tablename.columnname) specified by column id
      参数:
      columnId - column id
      返回:
      column full name or null if columnId is invalid
    • columnIDOf

      public final int columnIDOf(String column)
      return column ordinal id(base 0) specified by column name
      参数:
      column - column name or full name,or java field name
      返回:
      column ordinal id(base 0) or -1 if column name is invalid
    • columnIDsOf

      public final int[] columnIDsOf(String... columns)
      return column ordinal id(base 0) specified by column names
      参数:
      columns - array of column name or full name,or java field name
      返回:
      array of column ordinal id(base 0) or empty array if columns is null
      另请参阅:
    • columnIDsOf

      public final int[] columnIDsOf(Collection<String> columns)
      return column ordinal id(base 0) specified by column names
      参数:
      columns - collection of column name or full name,or java field name
      返回:
      array of column ordinal id(base 0) or empty array if columns is null
      另请参阅:
    • columnIDsOf

      public final int[] columnIDsOf(Iterable<String> columns)
      return column ordinal id(base 0) specified by column names
      参数:
      columns - collection of column name or full name,or java field name
      返回:
      array of column ordinal id(base 0) or empty array if columns is null
      另请参阅:
    • columnNamesOf

      public final List<String> columnNamesOf(int... columnIds)
      return column names by column names
      参数:
      columnIds - array of column id
      返回:
      array of column name or empty array if columnIds is null
      另请参阅:
    • columnNamesOf

      public final List<String> columnNamesOf(Iterable<Integer> columnIds)
      return column names by column names
      参数:
      columnIds - array of column id
      返回:
      array of column name or empty array if columnIds is null
      从以下版本开始:
      3.15.0
      另请参阅:
    • columnTypeOf

      public Class<?> columnTypeOf(int columnId)
      参数:
      columnId - column id
      返回:
      java type of column,or NULL if columnId is invalid
    • fieldTypeOf

      public Class<?> fieldTypeOf(int columnId)
      参数:
      columnId - column id
      返回:
      java field type of column,or NULL if columnId is invalid
      从以下版本开始:
      3.18.1
    • jdbcTypeOf

      public Class<?> jdbcTypeOf(int columnId)
      参数:
      columnId - column id
      返回:
      java type of column for JDBC driver,or NULL if columnId is invalid
      从以下版本开始:
      3.21.0
    • fieldOf

      public Field fieldOf(int columnId)
      参数:
      columnId - column id
      返回:
      Field instance of column,or NULL if columnId is invalid
      从以下版本开始:
      3.17.7
    • columnTypeOf

      public Class<?> columnTypeOf(String column)
      参数:
      column - column name
      返回:
      java type of column,or NULL if column is invalid
    • columnCodecOf

      public ColumnCodec columnCodecOf(int columnId)
      参数:
      columnId -
      返回:
      ColumnCodec instance of NULL if column is invalid
      从以下版本开始:
      3.21.0
    • isValidColumnID

      public boolean isValidColumnID(Integer columnId)
    • isValidColumnName

      public boolean isValidColumnName(String column)
    • validColumnIDsOrAll

      public int[] validColumnIDsOrAll(int... fieldList)
    • validColumnIDsOrAll

      public int[] validColumnIDsOrAll(Iterable<Integer> fieldList)
    • validColumnIDsOrAllOf

      public int[] validColumnIDsOrAllOf(String... fieldList)
    • validColumnIDsOrAllOf

      public int[] validColumnIDsOrAllOf(Iterable<String> fieldList)
    • sqlTypeOf

      public int sqlTypeOf(int columnId)
      参数:
      columnId - column id
      返回:
      SQL type of column,or throw IllegalArgumentException if columnId is invalid
      另请参阅:
    • isPrimaryKeyId

      public boolean isPrimaryKeyId(int columnId)
      参数:
      columnId -
      返回:
      return true if columnId is a primary key Id
    • isPrimaryKey

      public boolean isPrimaryKey(String column)
      参数:
      column -
      返回:
      return true if columnId is a primary key Id
    • isForeignKeyId

      public boolean isForeignKeyId(int columnId)
    • isForeignKey

      public boolean isForeignKey(String column)
    • isLinkedTable

      public boolean isLinkedTable(String tablename)
      check if the table specified by tablename is linked table of current table
      参数:
      tablename -
      返回:
      true if be linked table
    • getJunctionTablePkMap

      public com.google.common.collect.ImmutableMap<String,Object[]> getJunctionTablePkMap()
      返回:
      junctionTablePkMap
    • junctionMapOf

      public Map<String,String> junctionMapOf(String linkedTableName)
    • foreignKeyIdMapOf

      public com.google.common.collect.ImmutableBiMap<Integer,Integer> foreignKeyIdMapOf(String fkName)
      参数:
      fkName - foreign key name
      返回:
      map of column id TO foreign table column id
    • getSelfRefKeys

      public com.google.common.collect.ImmutableList<gu.sql2java.ForeignKeyMetaData> getSelfRefKeys()
    • getSelfRefKeyByRn

      public gu.sql2java.ForeignKeyMetaData getSelfRefKeyByRn(String readableName)
    • foreignKeyIdArrayOf

      public int[] foreignKeyIdArrayOf(String fkName)
    • getForeignKey

      public gu.sql2java.ForeignKeyMetaData getForeignKey(String fkName)
    • getForeignKeyByRn

      public gu.sql2java.ForeignKeyMetaData getForeignKeyByRn(String readableName)
    • foreignKeysOf

      public List<gu.sql2java.ForeignKeyMetaData> foreignKeysOf(String foreignTable)
    • getImportedKeys

      public com.google.common.collect.ImmutableList<gu.sql2java.ForeignKeyMetaData> getImportedKeys()
    • getImportedKey

      public gu.sql2java.ForeignKeyMetaData getImportedKey(String fkName)
    • getJunctionTables

      public com.google.common.collect.ImmutableList<RowMetaData> getJunctionTables()
    • getJunctionTablesLinkedBeantypeMap

      public com.google.common.collect.ImmutableMap<Class<?>,RowMetaData> getJunctionTablesLinkedBeantypeMap()
    • getJunctionTableFor

      public RowMetaData getJunctionTableFor(Class<?> linkedBeanType)
    • getJunctionTableFor

      public RowMetaData getJunctionTableFor(Type linkedBeanType)
    • getForeignKeysForListener

      public com.google.common.collect.ImmutableList<gu.sql2java.ForeignKeyMetaData> getForeignKeysForListener()
      返回:
      返回 所有需要输出foreign key listener的 ForeignKeyMetaData对象
    • getUniqueIndices

      public com.google.common.collect.ImmutableMap<String,IndexMetaData> getUniqueIndices()
    • getIndexChecked

      public IndexMetaData getIndexChecked(String indexName)
    • getIndexCheckedByRn

      public IndexMetaData getIndexCheckedByRn(String readableName)
    • indexIdArray

      public int[] indexIdArray(String indexName)
    • indexTypeArray

      public Class<?>[] indexTypeArray(String indexName)
    • comparatorOf

      public <B extends BaseBean> Comparator<B> comparatorOf(int columnId, boolean bReverse)
    • injectTableMetaData

      public static void injectTableMetaData(Map<String,RowMetaData> tableMetadata)
      注入RowMetaData数据
      参数:
      tableMetadata - 表名--RowMetaData映射
    • allMetaDataList

      public static final List<RowMetaData> allMetaDataList()
      返回所有 RowMetaData实例
    • getMetaData

      public static final RowMetaData getMetaData(String tablename)
      根据表名返回对应的 RowMetaData实例
      参数:
      tablename - 表名
      返回:
      RowMetaData实例,找不到时抛出异常
    • getMetaDataUnchecked

      public static final RowMetaData getMetaDataUnchecked(String tablename)
      根据表名返回对应的 RowMetaData实例
      参数:
      tablename - 表名
      返回:
      RowMetaData实例,找不到时返回null
    • getMetaData

      public static final RowMetaData getMetaData(Class<?> beanType)
      根据beanType返回对应的 RowMetaData实例
      参数:
      beanType - 表名
      返回:
      RowMetaData实例,找不到时抛出异常
      另请参阅:
    • getMetaData

      public static final RowMetaData getMetaData(Class<?> beanType, boolean matchSubclass)
      根据beanType返回对应的 RowMetaData实例
      参数:
      beanType - 表名
      matchSubclass - 是否匹配子类,为true时,如果找不到会尝试查找 beanType 的子类,返回对应的RowMetaData实例
      返回:
      RowMetaData实例,找不到时抛出异常
      从以下版本开始:
      4.3.4
      另请参阅:
    • getMetaDataUnchecked

      public static final RowMetaData getMetaDataUnchecked(Class<?> beanType)
      根据beanType返回对应的 RowMetaData实例
      参数:
      beanType - 表名
      返回:
      RowMetaData实例,找不到时返回null
    • getRowMetaDataByBeanClassName

      public static final RowMetaData getRowMetaDataByBeanClassName(String beanClassSimpleName, String alias)
    • getForeignKey

      public static final gu.sql2java.ForeignKeyMetaData getForeignKey(String importeBeanName, String readableName, String alias)
    • getRowMetaDataByCoreClassName

      public static final RowMetaData getRowMetaDataByCoreClassName(String coreClassName, String alias)
    • visibilityOf

      public ColumnVisibility visibilityOf(int columnId)
      参数:
      columnId -
      从以下版本开始:
      3.32.0
    • visibilityOf

      public ColumnVisibility visibilityOf(String column)
      参数:
      column -
      从以下版本开始:
      3.32.0
    • columnGroupByVisibility

      public <T> LinkedHashSet<T> columnGroupByVisibility(ColumnVisibility visibility, com.google.common.base.Function<Integer,T> transfomer)
      类型参数:
      T -
      参数:
      visibility -
      transfomer -
      从以下版本开始:
      3.32.0
    • columnNamesWith

      public LinkedHashSet<String> columnNamesWith(ColumnVisibility visibility)
      参数:
      visibility -
      从以下版本开始:
      3.32.0
    • columnIDsWith

      public LinkedHashSet<Integer> columnIDsWith(ColumnVisibility visibility)
      参数:
      visibility -
      从以下版本开始:
      3.32.0
    • getManagerUnchecked

      public <M extends TableManager<? extends BaseBean>> M getManagerUnchecked()
      从以下版本开始:
      3.32.6
    • getManager

      public <M extends TableManager<? extends BaseBean>> M getManager()
      从以下版本开始:
      3.20.2
    • createBean

      public <B extends BaseBean> B createBean()
      create a new instance of beanType
      从以下版本开始:
      3.20.3
    • getPrimaryKeyIdAsSet

      public Set<Integer> getPrimaryKeyIdAsSet()
      从以下版本开始:
      3.32.6
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • equals

      public boolean equals(Object obj)
      覆盖:
      equals 在类中 Object
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object