类 DataRow

所有已实现的接口:
Serializable, Cloneable, Map<String,Object>, AnyData<DataRow>
直接已知子类:
OriginRow

public class DataRow extends LinkedHashMap<String,Object> implements Serializable, AnyData<DataRow>
另请参阅:
  • 字段详细资料

    • KEY_CHILDREN

      public static String KEY_CHILDREN
    • KEY_ALL_CHILDREN

      public static String KEY_ALL_CHILDREN
    • KEY_ITEMS

      public static String KEY_ITEMS
    • DEFAULT_KEY_CASE

      public static KeyAdapter.KEY_CASE DEFAULT_KEY_CASE
    • DEFAULT_PRIMARY_KEY

      public static String DEFAULT_PRIMARY_KEY
    • override

      protected Boolean override
    • updateNullColumn

      protected boolean updateNullColumn
    • updateEmptyColumn

      protected boolean updateEmptyColumn
    • insertNullColumn

      protected boolean insertNullColumn
    • insertEmptyColumn

      protected boolean insertEmptyColumn
    • replaceEmptyNull

      protected boolean replaceEmptyNull
    • category

      protected String category
    • metadatas

      protected LinkedHashMap<String,Column> metadatas
    • container

      protected transient DataSet container
    • containers

      protected transient Map<String,DataSet> containers
    • parents

      protected transient Map<String,DataRow> parents
    • primaryKeys

      protected List<String> primaryKeys
    • updateColumns

      protected List<String> updateColumns
    • ignoreUpdateColumns

      protected List<String> ignoreUpdateColumns
    • datasource

      protected String datasource
    • catalog

      protected Catalog catalog
    • schema

      protected Schema schema
    • tables

      protected transient LinkedHashMap<String,Table> tables
    • attributes

      protected DataRow attributes
    • tags

      protected DataRow tags
    • relations

      protected DataRow relations
    • createTime

      protected long createTime
    • nanoTime

      protected long nanoTime
    • expires

      protected long expires
    • isNew

      protected Boolean isNew
    • isFromCache

      protected boolean isFromCache
    • keymap

      protected Map<String,String> keymap
    • isUpperKey

      protected boolean isUpperKey
    • converts

      protected Map<String,String> converts
    • skip

      public boolean skip
    • keyAdapter

      protected KeyAdapter keyAdapter
    • keyCase

      protected KeyAdapter.KEY_CASE keyCase
    • format

      public DataRow.Format format
    • parse

      public DataRow.Parse parse
  • 构造器详细资料

  • 方法详细资料

    • parseKeyCase

      protected void parseKeyCase(KeyAdapter.KEY_CASE keyCase)
    • parseMap

      public DataRow parseMap(LinkedHashMap columns, Map<String,Object> map)
    • serCreateTime

      public DataRow serCreateTime(Long time)
    • serCreateTime

      public DataRow serCreateTime(Date time)
    • getNanoTime

      public long getNanoTime()
    • setNanoTime

      public void setNanoTime(long nanoTime)
    • parseList

      public static DataRow parseList(DataRow row, Collection<?> list, String... fields)
      数组解析成DataRow
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      list - 数组
      fields - 下标对应的属性(字段/key)名称, 如果不输入则以下标作为DataRow的key, 如果属性数量超出list长度, 取null值存入DataRow
      返回:
      DataRow
    • parseList

      public static DataRow parseList(Collection<?> list, String... fields)
    • setKeyCase

      public DataRow setKeyCase(KeyAdapter.KEY_CASE keyCase)
    • parse

      public static DataRow parse(DataRow row, Object obj, String... keys)
      解析实体类对象
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      obj - obj
      keys - 列名:obj属性名 "ID:memberId"
      返回:
      DataRow
    • parse

      public static DataRow parse(Object obj, String... keys)
    • parse

      public static DataRow parse(KeyAdapter.KEY_CASE keyCase, String txt, String... keys)
    • build

      public static DataRow build(DataRow row, Object obj, String... keys)
    • build

      public static DataRow build(Object obj, String... keys)
    • parse

      public static DataRow parse(DataRow row, KeyAdapter.KEY_CASE keyCase, Object obj, String... keys)
    • parse

      public static DataRow parse(KeyAdapter.KEY_CASE keyCase, Object obj, String... keys)
    • build

      public static DataRow build(DataRow row, KeyAdapter.KEY_CASE keyCase, Object obj, String... keys)
    • build

      public static DataRow build(KeyAdapter.KEY_CASE keyCase, Object obj, String... keys)
    • parseJson

      public static DataRow parseJson(DataRow row, KeyAdapter.KEY_CASE keyCase, String json)
      解析json结构字符
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      keyCase - key大小写
      json - json
      返回:
      DataRow
    • parseJson

      public static DataRow parseJson(KeyAdapter.KEY_CASE keyCase, String json)
    • parseJson

      public static DataRow parseJson(DataRow row, String json)
    • parseJson

      public static DataRow parseJson(String json)
    • parseJson

      public static DataRow parseJson(DataRow row, KeyAdapter.KEY_CASE keyCase, com.fasterxml.jackson.databind.JsonNode json)
      解析JSONObject
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      keyCase - keyCase
      json - json
      返回:
      DataRow
    • parseJson

      public static DataRow parseJson(KeyAdapter.KEY_CASE keyCase, com.fasterxml.jackson.databind.JsonNode json)
    • parseJson

      public static DataRow parseJson(DataRow row, com.fasterxml.jackson.databind.JsonNode json)
    • parseJson

      public static DataRow parseJson(com.fasterxml.jackson.databind.JsonNode json)
    • parseJsonObject

      public static Object parseJsonObject(Object obj, KeyAdapter.KEY_CASE keyCase, com.fasterxml.jackson.databind.JsonNode json)
    • parseJsonObject

      public static Object parseJsonObject(KeyAdapter.KEY_CASE keyCase, com.fasterxml.jackson.databind.JsonNode json)
    • parseXml

      public static DataRow parseXml(DataRow row, KeyAdapter.KEY_CASE keyCase, String xml)
      解析xml结构字符
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      keyCase - KEY_CASE
      xml - xml
      返回:
      DataRow
    • parseXml

      public static DataRow parseXml(DataRow row, String xml)
    • parseXml

      public static DataRow parseXml(String xml)
    • parseXml

      public static DataRow parseXml(DataRow row, KeyAdapter.KEY_CASE keyCase, org.dom4j.Element element)
      解析xml
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      keyCase - KEY_CASE
      element - element
      返回:
      DataRow
    • parseXml

      public static DataRow parseXml(KeyAdapter.KEY_CASE keyCase, org.dom4j.Element element)
    • parseArray

      public static DataRow parseArray(DataRow row, String... kvs)
      解析 key1, value1, key2, value2, key3:value3组合
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      kvs - kvs
      返回:
      DataRow
    • parseArray

      public static DataRow parseArray(String... kvs)
    • setContainer

      public DataRow setContainer(String key, DataSet container)
    • getContainer

      public DataSet getContainer(String key)
    • setParent

      public DataRow setParent(String key, DataRow parent)
    • getParent

      public DataRow getParent(String key)
    • getAllParent

      public DataSet getAllParent(String key)
    • getOverride

      public Boolean getOverride()
    • setOverride

      public void setOverride(Boolean override)
    • setMetadata

      public DataRow setMetadata(LinkedHashMap<String,Column> metadatas)
    • setMetadata

      public DataRow setMetadata(String name, Column column)
    • setMetadata

      public DataRow setMetadata(Column column)
    • getMetadatas

      public LinkedHashMap<String,Column> getMetadatas()
    • getMetadatas

      public LinkedHashMap<String,Column> getMetadatas(boolean create)
      参数:
      create - 如果没有metadata是否通过keys创建
      返回:
      LinkedHashMap
    • getMetadata

      public Column getMetadata(String column)
    • getMetadataTypeName

      public String getMetadataTypeName(String column)
    • getMetadataType

      public Integer getMetadataType(String column)
    • getMetadataFullType

      public String getMetadataFullType(String column)
    • getMetadataClassName

      public String getMetadataClassName(String column)
    • getCreateTime

      public long getCreateTime()
      创建时间
      返回:
      long
    • setCreateTime

      public DataRow setCreateTime(long createTime)
    • getExpires

      public long getExpires()
      过期时间
      返回:
      long
    • setExpires

      public DataRow setExpires(long millisecond)
      设置过期时间
      参数:
      millisecond - millisecond
      返回:
      DataRow
    • setExpires

      public DataRow setExpires(int millisecond)
    • merge

      public DataRow merge(DataRow row, boolean over)
      合并数据
      参数:
      row - row
      over - key相同时是否覆盖原数据
      返回:
      DataRow
    • ognl

      public Object ognl(String formula, Object values) throws Exception
      抛出:
      Exception
    • ognl

      public Object ognl(String formula) throws Exception
      抛出:
      Exception
    • ognl

      public DataRow ognl(String key, String formula, Object values) throws Exception
      抛出:
      Exception
    • ognl

      public DataRow ognl(String key, String formula) throws Exception
      抛出:
      Exception
    • merge

      public DataRow merge(DataRow row)
    • isNew

      public Boolean isNew()
      是否是新数据
      强制isNew=true时返回true
      全部主键都有值时返回false只要有一个主键值为空返回true
      返回:
      Boolean
    • isFromCache

      public boolean isFromCache()
      是否来自缓存
      返回:
      boolean
    • setIsFromCache

      public DataRow setIsFromCache(boolean bol)
      设置是否来自缓存
      参数:
      bol - bol
      返回:
      DataRow
    • getCd

      public String getCd()
    • getId

      public String getId()
    • getCode

      public String getCode()
    • getNm

      public String getNm()
    • getName

      public String getName()
    • getTitle

      public String getTitle()
    • getItems

      public DataSet getItems()
      默认子集
      返回:
      DataSet
    • putItems

      public DataRow putItems(Object obj)
    • toLowerKey

      public DataRow toLowerKey(boolean recursion, String... keys)
      key转换成小写
      指定者:
      toLowerKey 在接口中 AnyData<DataRow>
      参数:
      recursion - 是否递归
      keys - keys
      返回:
      DataRow
    • toUpperKey

      public DataRow toUpperKey(boolean recursion, String... keys)
      key转换成大写
      指定者:
      toUpperKey 在接口中 AnyData<DataRow>
      参数:
      recursion - 是否递归
      keys - 需要转换的key,如果不提供则转换全部
      返回:
      DataRow
    • toLowerValue

      public DataRow toLowerValue(String... keys)
      value转换成小写
      参数:
      keys - keys
      返回:
      DataRow
    • toUpperValue

      public DataRow toUpperValue(String... keys)
      value转换成大写
      参数:
      keys - keys
      返回:
      DataRow
    • isNull

      public boolean isNull(String key)
      指定列是否为空
      参数:
      key - key
      返回:
      boolean
    • isNotNull

      public boolean isNotNull(String key)
    • isEmpty

      public boolean isEmpty(boolean recursion, String key)
    • isEmpty

      public boolean isEmpty(String key)
    • isNotEmpty

      public boolean isNotEmpty(String key)
    • addPrimaryKey

      public DataRow addPrimaryKey(boolean applyContainer, String... pks)
      添加主键
      参数:
      applyContainer - 是否应用到上级容器 默认false
      pks - pks
      返回:
      DataRow
    • addPrimaryKey

      public DataRow addPrimaryKey(String... pks)
    • addPrimaryKey

      public DataRow addPrimaryKey(boolean applyContainer, Collection<String> pks)
    • setPrimaryKey

      public DataRow setPrimaryKey(boolean applyContainer, String... pks)
    • setPrimaryKey

      public DataRow setPrimaryKey(String... pks)
    • setPrimaryKey

      public DataRow setPrimaryKey(boolean applyContainer, Collection<String> pks)
      设置主键
      参数:
      applyContainer - 是否应用到上级容器
      pks - keys
      返回:
      DataRow
    • setPrimaryKey

      public DataRow setPrimaryKey(Collection<String> pks)
    • getPrimaryColumn

      public Column getPrimaryColumn()
    • getPrimaryColumns

      public LinkedHashMap<String,Column> getPrimaryColumns()
    • getPrimaryKeys

      public List<String> getPrimaryKeys()
      读取主键 主键为空时且容器有主键时, 读取容器主键, 否则返回默认主键
      返回:
      List
    • getPrimaryKey

      public String getPrimaryKey()
    • getPrimaryValues

      public List<Object> getPrimaryValues()
      主键值
      返回:
      List
    • getPrimaryValue

      public Object getPrimaryValue()
    • setPrimaryValue

      public DataRow setPrimaryValue(Object value)
    • hasPrimaryKeys

      public boolean hasPrimaryKeys()
      是否有主键
      返回:
      boolean
    • hasSelfPrimaryKeys

      public boolean hasSelfPrimaryKeys()
      自身是否有主键
      返回:
      boolean
    • getCategory

      public String getCategory()
    • setCategory

      public DataRow setCategory(String category)
    • getRelations

      public DataRow getRelations()
    • setRelations

      public DataRow setRelations(DataRow relations)
    • addRelation

      public DataRow addRelation(DataRow relation)
    • addRelation

      public DataRow addRelation(String relation)
    • getRelation

      public DataRow getRelation(String key)
    • getDataLink

      public String getDataLink()
    • setDest

      public DataRow setDest(String dest)
      设置数据源 当前对象处于容器中时, 设置容器数据源
      参数:
      dest - dest
      返回:
      DataRow
    • getChildren

      public Object getChildren()
      子类
      返回:
      Object
    • setChildren

      public DataRow setChildren(Object children)
    • getAllChild

      public DataSet getAllChild(String key)
      所有上级数据(递归)
      返回:
      List
    • entity

      public <T> T entity(Class<T> clazz, String... configs)
      转换成对象
      类型参数:
      T - T
      参数:
      clazz - clazz
      configs - 属性对应关系 name:USER_NAME
      返回:
      T
    • has

      public boolean has(String key)
      是否有指定的key
      参数:
      key - key
      返回:
      boolean
    • hasValue

      public boolean hasValue(String key)
    • hasKey

      public boolean hasKey(String key)
    • containsKey

      public boolean containsKey(String key)
    • keys

      public List<String> keys()
    • putAll

      public void putAll(Map<? extends String,? extends Object> map)
      指定者:
      putAll 在接口中 Map<String,Object>
      覆盖:
      putAll 在类中 HashMap<String,Object>
    • put

      public DataRow put(KeyAdapter.KEY_CASE keyCase, String key, Object value)
    • put

      public DataRow put(boolean checkUpdate, String key, Object value)
    • put

      public DataRow put(boolean checkUpdate, KeyAdapter.KEY_CASE keyCase, String key, Object value)
    • put

      public DataRow put(boolean checkUpdate, KeyAdapter.KEY_CASE keyCase, String key, Object value, boolean pk, boolean override)
      参数:
      keyCase - keyCase
      key - key
      value - value
      checkUpdate - 检测是否需要更新
      pk - 是否是主键 pk 是否是主键
      override - 是否覆盖之前的主键(追加到primaryKeys) 默认覆盖(单一主键)
      返回:
      DataRow
    • put

      public DataRow put(KeyAdapter.KEY_CASE keyCase, String key, Object value, boolean pk, boolean override)
    • put

      public DataRow put(String key, Object value, boolean pk, boolean override)
    • put

      public DataRow put(KeyAdapter.KEY_CASE keyCase, String key, Object value, boolean pk)
    • put

      public DataRow put(String key, Object value, boolean pk)
    • keyCase

      public KeyAdapter.KEY_CASE keyCase()
    • put

      public DataRow put(String key)
    • puts

      public DataSet puts(String key)
    • put

      public Object put(String key, Object value)
      这是重写的父类put不要改返回值类型
      指定者:
      put 在接口中 Map<String,Object>
      覆盖:
      put 在类中 HashMap<String,Object>
      参数:
      key - key
      value - value
      返回:
      Object
    • set

      public DataRow set(String key, Object value)
    • putWithoutNull

      public DataRow putWithoutNull(String key, Object value)
    • putWithoutEmpty

      public DataRow putWithoutEmpty(String key, Object value)
    • putIfEmpty

      public DataRow putIfEmpty(String key, Object value)
      原来的值为空时执行
      参数:
      key - key
      value - value
      返回:
      this
    • putIfNull

      public DataRow putIfNull(String key, Object value)
      原来的值为null时执行
      参数:
      key - key
      value - value
      返回:
      this
    • attr

      public DataRow attr(String key, Object value)
    • setAttribute

      public DataRow setAttribute(String key, Object value)
    • attr

      public Object attr(String key)
    • getAttribute

      public Object getAttribute(String key)
    • getAttributes

      public DataRow getAttributes()
    • setAttributes

      public DataRow setAttributes(DataRow attributes)
    • tag

      public DataRow tag(String key, Object value)
    • setTag

      public DataRow setTag(String key, Object value)
    • tag

      public Object tag(String key)
    • getTag

      public Object getTag(String key)
    • getTags

      public Map<String,Object> getTags()
    • getRow

      public DataRow getRow(String key)
    • getPoint

      public Point getPoint(String key)
    • getRow

      public DataRow getRow(String... keys)
    • getSet

      public DataSet getSet(String key)
    • getList

      public List<?> getList(String key)
    • getStringNvl

      public String getStringNvl(String key, String... defs)
    • getStringEvl

      public String getStringEvl(String key, String... defs)
    • getStringWithoutEmpty

      public String getStringWithoutEmpty(String... keys)
      返回第1个非空值
      参数:
      keys - keys
      返回:
      String
    • getStringWithoutNull

      public String getStringWithoutNull(String... keys)
      返回第1个非NULL值
      参数:
      keys - keys
      返回:
      String
    • getString

      public String getString(String... keys)
      返回第1个存在的key对应的值, 有可能返回null或""
      参数:
      keys - keys
      返回:
      String
    • key

      public String key(int index)
    • getString

      public String getString(int index)
    • getString

      public String getString(String key)
    • getInt

      public Integer getInt(String... keys) throws NumberFormatException
      boolean类型true 解析成 1
      参数:
      keys - key
      返回:
      int
      抛出:
      NumberFormatException - 无效的数字格式
    • getInt

      public Integer getInt(int index) throws NumberFormatException
      抛出:
      NumberFormatException
    • getInt

      public Integer getInt(String key) throws NumberFormatException
      抛出:
      NumberFormatException
    • getInt

      public Integer getInt(int index, Integer def)
    • getInt

      public Integer getInt(String key, Integer def)
    • getInt

      public Integer getInt(Integer def, String... keys)
    • getDouble

      public Double getDouble(String... keys) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDouble

      public Double getDouble(int index) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDouble

      public Double getDouble(String key) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDouble

      public Double getDouble(int index, Double def)
    • getDouble

      public Double getDouble(String key, Double def)
    • getDouble

      public Double getDouble(int index, Integer def)
    • getDouble

      public Double getDouble(String key, Integer def)
    • getLong

      public Long getLong(String... keys) throws NumberFormatException
      抛出:
      NumberFormatException
    • getLong

      public Long getLong(int index) throws NumberFormatException
      抛出:
      NumberFormatException
    • getLong

      public Long getLong(String key) throws NumberFormatException
      抛出:
      NumberFormatException
    • getLong

      public Long getLong(int index, Long def)
    • getLong

      public Long getLong(String key, Long def)
    • getLong

      public Long getLong(int index, Integer def)
    • getLong

      public Long getLong(String key, Integer def)
    • getFloat

      public Float getFloat(String... keys) throws NumberFormatException
      抛出:
      NumberFormatException
    • getFloat

      public Float getFloat(int index) throws NumberFormatException
      抛出:
      NumberFormatException
    • getFloat

      public Float getFloat(String key) throws NumberFormatException
      抛出:
      NumberFormatException
    • getFloat

      public Float getFloat(int index, Float def)
    • getFloat

      public Float getFloat(String key, Float def)
    • getFloat

      public Float getFloat(int index, Integer def)
    • getFloat

      public Float getFloat(String key, Integer def)
    • getBoolean

      public Boolean getBoolean(int index, Boolean def)
    • getBoolean

      public Boolean getBoolean(String key, Boolean def)
    • getBoolean

      public Boolean getBoolean(String... keys)
    • getBoolean

      public Boolean getBoolean(int index)
    • getBoolean

      public Boolean getBoolean(String key)
    • getDecimal

      public BigDecimal getDecimal(String... keys) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDecimal

      public BigDecimal getDecimal(int index) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDecimal

      public BigDecimal getDecimal(String key) throws NumberFormatException
      抛出:
      NumberFormatException
    • getDecimal

      public BigDecimal getDecimal(int index, Double def)
    • getDecimal

      public BigDecimal getDecimal(String key, Double def)
    • getDecimal

      public BigDecimal getDecimal(int index, Integer def)
    • getDecimal

      public BigDecimal getDecimal(String key, Integer def)
    • getDecimal

      public BigDecimal getDecimal(int index, BigDecimal def)
    • getDecimal

      public BigDecimal getDecimal(String key, BigDecimal def)
    • getDecimal

      public String getDecimal(String key, String format)
    • getDecimal

      public String getDecimal(int index, String format)
    • getDecimal

      public String getDecimal(String key, double def, String format)
    • getDecimal

      public String getDecimal(int index, double def, String format)
    • getDecimal

      public String getDecimal(int index, BigDecimal def, String format)
    • getDecimal

      public String getDecimal(String key, BigDecimal def, String format)
    • getDate

      public Date getDate(int index, Date def)
    • getDate

      public Date getDate(String key, Date def)
    • getDate

      public Date getDate(int index, String def) throws Exception
      抛出:
      Exception
    • getDate

      public Date getDate(String key, String def) throws Exception
      抛出:
      Exception
    • getDate

      public Date getDate(String... keys) throws Exception
      抛出:
      Exception
    • getDate

      public Date getDate(int index) throws Exception
      抛出:
      Exception
    • getDate

      public Date getDate(String key) throws Exception
      抛出:
      Exception
    • getBytes

      public byte[] getBytes(int index)
    • getBytes

      public byte[] getBytes(String key)
    • ellipsis

      public DataRow ellipsis(int length, String... columns)
      超长部分忽略
      参数:
      length - 最长显示长度
      columns - 检测列
      返回:
      this
    • toSet

      public DataSet toSet(String key, String value)
      {id:1, code:a, value:100}
      toSet("k","v")转换成
      [{k:id, v:1}, {k:code, v:a}, [k:value, v:100]]
      参数:
      key - 原map中的key存放位置
      value - 原map中的value存放位置
      返回:
      DataSet
    • toJSON

      public String toJSON()
      转换成json格式
      指定者:
      toJSON 在接口中 AnyData<DataRow>
      返回:
      String
    • toJson

      public String toJson()
    • getJson

      public String getJson()
    • toJSON

      public String toJSON(com.fasterxml.jackson.annotation.JsonInclude.Include include)
    • toJson

      public String toJson(com.fasterxml.jackson.annotation.JsonInclude.Include include)
    • getJson

      public String getJson(com.fasterxml.jackson.annotation.JsonInclude.Include include)
    • removeEmpty

      public DataRow removeEmpty(String... keys)
    • removeEmpty

      public DataRow removeEmpty(boolean recursion, String... keys)
    • removeNull

      public DataRow removeNull(String... keys)
    • equals

      public boolean equals(DataRow row, String... columns)
    • toXML

      public String toXML()
      轮换成xml格式
      返回:
      String
    • toXML

      public String toXML(boolean border, boolean order)
    • hasContainer

      public boolean hasContainer()
      是否处于容器内
      返回:
      boolean
    • getContainer

      public DataSet getContainer()
      包含当前对象的容器
      返回:
      DataSet
    • setContainer

      public DataRow setContainer(DataSet container)
    • getCatalog

      public Catalog getCatalog()
    • getCatalogName

      public String getCatalogName()
    • setCatalog

      public DataRow setCatalog(String catalog)
    • setCatalog

      public DataRow setCatalog(Catalog catalog)
    • getSchema

      public Schema getSchema()
    • getSchemaName

      public String getSchemaName()
    • setSchema

      public DataRow setSchema(String schema)
    • setSchema

      public DataRow setSchema(Schema schema)
    • getTable

      public Table getTable()
    • getTable

      public Table getTable(boolean checkContainer)
    • getTableName

      public String getTableName()
    • getDest

      public String getDest()
    • setTable

      public DataRow setTable(Table table)
    • getTables

      public LinkedHashMap<String,Table> getTables()
    • getTables

      public LinkedHashMap<String,Table> getTables(boolean checkContainer)
    • setTables

      public DataRow setTables(List<Table> tables)
    • setTables

      public DataRow setTables(LinkedHashMap<String,Table> tables)
    • addTable

      public DataRow addTable(Table table)
    • setTable

      public DataRow setTable(String table)
    • isExpire

      public boolean isExpire(int millisecond)
      验证是否过期 根据当前时间与创建时间对比 过期返回 true
      参数:
      millisecond - 过期时间(毫秒) millisecond
      返回:
      boolean
    • isExpire

      public boolean isExpire(long millisecond)
      是否过期
      参数:
      millisecond - millisecond
      返回:
      boolean
    • isExpire

      public boolean isExpire()
    • clone

      public Object clone()
      复制数据
      覆盖:
      clone 在类中 HashMap<String,Object>
      返回:
      Object
    • getIsNew

      public Boolean getIsNew()
    • setIsNew

      public DataRow setIsNew(Boolean isNew)
    • getUpdateColumns

      public List<String> getUpdateColumns()
    • getUpdateColumns

      public LinkedHashMap<String,Column> getUpdateColumns(boolean metadata)
    • getColumns

      public LinkedHashMap<String,Column> getColumns()
    • getIgnoreUpdateColumns

      public List<String> getIgnoreUpdateColumns()
    • removes

      public DataRow removes(String... keys)
      删除指定的key 不和remove命名 避免调用remoate("ID","CODE")时与HashMap.remove(Object key, Object value) 冲突
      参数:
      keys - keys
      返回:
      DataRow
    • removes

      public DataRow removes(List<String> keys)
    • remove

      public Object remove(Object key)
      指定者:
      remove 在接口中 Map<String,Object>
      覆盖:
      remove 在类中 HashMap<String,Object>
    • clearUpdateColumns

      public DataRow clearUpdateColumns()
      清空需要更新的列
      返回:
      DataRow
    • clearIgnoreUpdateColumns

      public DataRow clearIgnoreUpdateColumns()
    • removeUpdateColumns

      public DataRow removeUpdateColumns(String... cols)
    • addUpdateColumns

      public DataRow addUpdateColumns(String... cols)
      添加需要更新的列
      参数:
      cols - cols
      返回:
      DataRow
    • addIgnoreColumns

      public DataRow addIgnoreColumns(String... cols)
    • addAllUpdateColumns

      public DataRow addAllUpdateColumns()
    • copy

      public DataRow copy(boolean regex, DataRow data, String[] fixs, String... keys)
      将数据从data中复制到this
      参数:
      regex - 是否开启正则匹配
      data - data
      fixs - fixs
      keys - this与data中的key不同时 "this.key:data.key"(CD:ORDER_CD)
      返回:
      DataRow
    • copy

      public DataRow copy(boolean regex, DataRow data, String... keys)
    • copy

      public DataRow copy(boolean regex, DataRow data, List<String> fixs, String... keys)
    • copy

      public DataRow copy(DataRow data, String[] fixs, String... keys)
    • copy

      public DataRow copy(DataRow data, String... keys)
    • copy

      public DataRow copy(DataRow data, List<String> fixs, String... keys)
    • extract

      public DataRow extract(boolean regex, String... keys)
      /** 抽取指定列, 生成新的DataRow, 新的DataRow只包括指定列的值, 不包含其他附加信息(如来源表)
      参数:
      keys - keys
      regex - 是否开启正则匹配
      返回:
      DataRow
    • extract

      public DataRow extract(boolean regex, List<String> keys)
    • extract

      public DataRow extract(String... keys)
    • extract

      public DataRow extract(List<String> keys)
    • copyString

      public DataRow copyString(DataRow data, String... keys)
      复制String类型数据
      参数:
      data - data
      keys - keys
      返回:
      DataRow
    • numberKeys

      public List<String> numberKeys()
      所有数字列
      返回:
      List
    • checkRequired

      public boolean checkRequired(String... keys)
      检测必选项
      参数:
      keys - keys
      返回:
      boolean
    • checkRequired

      public boolean checkRequired(List<String> keys)
    • camel_

      public DataRow camel_()
      驼峰转下划线
      返回:
      DataRow
    • camel

      public DataRow camel()
    • camel

      public DataRow camel(boolean lower)
      下划线转小驼峰
      参数:
      lower - 是否先转换成小写 遇到全大写但没有下划线的情况 false:不处理 true:全部转成小写
      返回:
      DataSet
    • Camel

      public DataRow Camel()
      下划线转大驼峰
      返回:
      DataSet
    • getKeyCase

      protected static String getKeyCase(KeyAdapter.KEY_CASE keyCase, String key)
      key大小写转换
      参数:
      keyCase - keyCase
      key - key
      返回:
      String
    • getKeyCase

      public static String getKeyCase(String key)
    • putKeyCase

      protected static String putKeyCase(KeyAdapter.KEY_CASE keyCase, String key)
      key大小写转换
      参数:
      keyCase - keyCase
      key - key
      返回:
      String
    • putKeyCase

      public static String putKeyCase(String key)
    • isUpdateNullColumn

      public boolean isUpdateNullColumn()
      是否更新null列
      返回:
      boolean
    • setUpdateNullColumn

      public DataRow setUpdateNullColumn(boolean updateNullColumn)
      设置是否更新null列
      参数:
      updateNullColumn - updateNullColumn
      返回:
      DataRow
    • isUpdateEmptyColumn

      public boolean isUpdateEmptyColumn()
      是否更新空列
      返回:
      boolean
    • setUpdateEmptyColumn

      public DataRow setUpdateEmptyColumn(boolean updateEmptyColumn)
      设置是否更新空列
      参数:
      updateEmptyColumn - updateEmptyColumn
      返回:
      DataRow
    • isInsertNullColumn

      public boolean isInsertNullColumn()
    • setInsertNullColumn

      public void setInsertNullColumn(boolean insertNullColumn)
    • isInsertEmptyColumn

      public boolean isInsertEmptyColumn()
    • isReplaceEmptyNull

      public boolean isReplaceEmptyNull()
    • setInsertEmptyColumn

      public void setInsertEmptyColumn(boolean insertEmptyColumn)
    • changeKey

      public DataRow changeKey(String key, String target, boolean remove)
      替换key
      参数:
      key - key
      target - target
      remove - 是否删除原来的key
      返回:
      DataRow
    • changeKey

      public DataRow changeKey(String key, String target)
    • replaceEmpty

      public DataRow replaceEmpty(String value)
      替换所有空值
      参数:
      value - value
      返回:
      DataRow
    • trim

      public DataRow trim()
      所有String类型的值执行trim
      返回:
      this
    • trim

      public DataRow trim(String... keys)
    • compress

      public DataRow compress()
      多个空白压缩成一个空格
      返回:
      DataRow
    • compress

      public DataRow compress(String... keys)
    • sbc2dbc

      public DataRow sbc2dbc()
      全角转半角
      返回:
      this
    • sbc2dbc

      public DataRow sbc2dbc(String... keys)
    • replaceEmpty

      public DataRow replaceEmpty(String replace, String... keys)
      替换所有空值
      参数:
      keys - keys
      replace - replace
      返回:
      DataRow
    • replaceNull

      public DataRow replaceNull(String replace, String... keys)
      替换所有NULL值
      参数:
      keys - keys
      replace - replace
      返回:
      DataRow
    • replaces

      public DataRow replaces(String oldChar, String replace, String... keys)
    • replaces

      public DataRow replaces(boolean regex, String oldChar, String replace, String... keys)
    • replaceRegex

      public DataRow replaceRegex(String regex, String replace, String... keys)
    • join

      public String join(String... keys)
      拼接value
      参数:
      keys - keys
      返回:
      String
    • convertDate

      public DataRow convertDate(String... keys)
    • convertDate

      public DataRow convertDate(Date def, String... keys)
    • convertInt

      public DataRow convertInt(String... keys)
    • convertInt

      public DataRow convertInt(Integer def, String... keys)
    • convertLong

      public DataRow convertLong(String... keys)
    • convertLong

      public DataRow convertLong(Long def, String... keys)
    • convertDouble

      public DataRow convertDouble(String... keys)
    • convertDouble

      public DataRow convertDouble(Double def, String... keys)
    • convertNumber

      public DataRow convertNumber(String... keys)
      指定key转换成number
      参数:
      keys - keys
      返回:
      DataRow
    • convertDecimal

      public DataRow convertDecimal(BigDecimal def, String... keys)
    • convertString

      public DataRow convertString(String... keys)
    • contains

      public boolean contains(String key)
      是否包含key(不要求完全匹配, 根据KEY_CASE有可能不区分大小写)
      参数:
      key - key
      返回:
      boolean
    • get

      public Object get(String... keys)
      返回第一个存在的key对应的value, key不要求完全匹配根据KEY_CASE有可能不区分大小写
      如果需要取第一个不为null的值调用nvl(String ... keys)
      第一个不为空的值调用evl(String ... keys)
      参数:
      keys - keys
      返回:
      Object
    • get

      public Object get(String key)
    • get

      public Object get(KeyAdapter.KEY_CASE keyCase, String key)
    • recursion

      public Object recursion(boolean strict, String... keys)
      按keys顺序递归取值, 如果其中一层是数组 取第0个,不支持多维数组
      strict=false时, 如果遇到基础类型值(包含String)则直接返回当前值,忽略之后的key
      strict=true时,必须提取到最后一层,如果失败则返回null 如提取用户的部门的领导的年率, 中间遇到部门只是个String类型, 则直接返回部门String
      参数:
      keys - keys
      strict - 是否严格按key顺序提取到最后一层
      返回:
      Object
    • recursion

      public Object recursion(String... keys)
    • nvl

      public Object nvl(String... keys)
    • evl

      public Object evl(String... keys)
    • add

      public DataRow add(String target, String key, int value)
      在key列基础上 +value, 如果原来没有key列则默认0并put到target 如果target与key一致则覆盖原值
      参数:
      target - 计算结果key
      key - key
      value - value
      返回:
      DataRow
    • add

      public DataRow add(String target, String key, double value)
    • add

      public DataRow add(String target, String key, short value)
    • add

      public DataRow add(String target, String key, float value)
    • add

      public DataRow add(String target, String key, BigDecimal value)
    • add

      public DataRow add(String key, int value)
    • add

      public DataRow add(String key, double value)
    • add

      public DataRow add(String key, short value)
    • add

      public DataRow add(String key, float value)
    • add

      public DataRow add(String key, BigDecimal value)
    • subtract

      public DataRow subtract(String target, String key, int value)
    • subtract

      public DataRow subtract(String target, String key, double value)
    • subtract

      public DataRow subtract(String target, String key, short value)
    • subtract

      public DataRow subtract(String target, String key, float value)
    • subtract

      public DataRow subtract(String target, String key, BigDecimal value)
    • subtract

      public DataRow subtract(String key, int value)
    • subtract

      public DataRow subtract(String key, double value)
    • subtract

      public DataRow subtract(String key, short value)
    • subtract

      public DataRow subtract(String key, float value)
    • subtract

      public DataRow subtract(String key, BigDecimal value)
    • multiply

      public DataRow multiply(String target, String key, int value)
    • multiply

      public DataRow multiply(String target, String key, double value)
    • multiply

      public DataRow multiply(String target, String key, short value)
    • multiply

      public DataRow multiply(String target, String key, float value)
    • multiply

      public DataRow multiply(String target, String key, BigDecimal value)
    • multiply

      public DataRow multiply(String key, int value)
    • multiply

      public DataRow multiply(String key, double value)
    • multiply

      public DataRow multiply(String key, short value)
    • multiply

      public DataRow multiply(String key, float value)
    • multiply

      public DataRow multiply(String key, BigDecimal value)
    • divide

      public DataRow divide(String target, String key, int value)
    • divide

      public DataRow divide(String target, String key, double value)
    • divide

      public DataRow divide(String target, String key, short value)
    • divide

      public DataRow divide(String target, String key, float value)
    • divide

      public DataRow divide(String target, String key, BigDecimal value, int scale, int round)
      除法,涉及到小数位与舍入问题可以提供scale, mode参数
      参数:
      target - 结果保存位置, 如果与key一致则覆盖原值
      key - 属性
      scale - 小数位
      round - 舍入模式 参考BigDecimal静态常量 ROUND_UP = 0 舍入远离零的舍入模式 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加 1) 如:2.36 转成 2.4
      ROUND_DOWN = 1 接近零的舍入模式 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1, 即截短). 如:2.36 转成 2.3
      ROUND_CEILING = 2 接近正无穷大的舍入模式 如果 BigDecimal 为正, 则舍入行为与 ROUND_UP 相同 如果为负, 则舍入行为与 ROUND_DOWN 相同 相当于是 ROUND_UP 和 ROUND_DOWN 的合集
      ROUND_FLOOR = 3 接近负无穷大的舍入模式 如果 BigDecimal 为正, 则舍入行为与 ROUND_DOWN 相同 如果为负, 则舍入行为与 ROUND_UP 相同 与ROUND_CEILING 正好相反
      ROUND_HALF_UP = 4 四舍五入
      ROUND_HALF_DOWN = 5 五舍六入
      ROUND_HALF_EVEN = 6 四舍六入 五留双(银行家舍入法)
      如果舍弃部分左边的数字为奇数, 则舍入行为与 ROUND_HALF_UP 相同(四舍五入)
      如果为偶数, 则舍入行为与 ROUND_HALF_DOWN 相同(五舍六入)
      如:1.15 转成 1.2, 因为5前面的1是奇数;1.25 转成 1.2, 因为5前面的2是偶数
      ROUND_UNNECESSARY=7 断言所请求的操作具有准确的结果,因此不需要舍入。如果在产生不精确结果的操作上指定了该舍入模式,则会抛出ArithmeticException异常
      返回:
      DataRow
    • divide

      public DataRow divide(String target, String key, BigDecimal value, int mode)
    • divide

      public DataRow divide(String key, int value)
    • divide

      public DataRow divide(String key, double value)
    • divide

      public DataRow divide(String key, short value)
    • divide

      public DataRow divide(String key, float value)
    • divide

      public DataRow divide(String key, BigDecimal value, int mode)
    • round

      public DataRow round(String target, String key, int scale, int mode)
      舍入
      参数:
      target - 结果保存位置,如果与key一致则覆盖原值
      key - 属性
      scale - 小数位
      mode - 舍入模式 参考BigDecimal静态常量 ROUND_UP = 0 舍入远离零的舍入模式 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加 1) 如:2.36 转成 2.4
      ROUND_DOWN = 1 接近零的舍入模式 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短). 如:2.36 转成 2.3
      ROUND_CEILING = 2 接近正无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同 如果为负,则舍入行为与 ROUND_DOWN 相同 相当于是 ROUND_UP 和 ROUND_DOWN 的合集
      ROUND_FLOOR = 3 接近负无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同 如果为负,则舍入行为与 ROUND_UP 相同 与ROUND_CEILING 正好相反
      ROUND_HALF_UP = 4 四舍五入
      ROUND_HALF_DOWN = 5 五舍六入
      ROUND_HALF_EVEN = 6 四舍六入 五留双(银行家舍入法)
      如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同(四舍五入)
      如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同(五舍六入)
      如:1.15 转成 1.2,因为5前面的1是奇数;1.25 转成 1.2,因为5前面的2是偶数
      ROUND_UNNECESSARY=7 断言所请求的操作具有准确的结果,因此不需要舍入。如果在产生不精确结果的操作上指定了该舍入模式,则会抛出ArithmeticException异常
      返回:
      DataRow
    • round

      public DataRow round(String key, int scale, int mode)
    • toString

      public String toString()
      覆盖:
      toString 在类中 AbstractMap<String,Object>
    • numberFormat

      protected DataRow numberFormat(String src, String tar, String format, String def)
    • dateFormat

      protected DataRow dateFormat(String src, String tar, String format, Date def)
    • dateFormat

      protected DataRow dateFormat(String src, String tar, String format, String def)
    • dateParse

      protected DataRow dateParse(String src, String tar, String format, Date def)
      日期解析,推荐调用parse.date()
      参数:
      src - 源列
      tar - 结果列
      format - 如果是String 按format格式解析
      def - 默认值
      返回:
      DataRow
    • numberParse

      protected DataRow numberParse(String src, String tar, String def)
      数字解析,解析成BigDecimal 推荐调用parse.number()
      参数:
      src - 源列
      tar - 结果列
      def - 默认值 如果默认值转换数字失败会抛出异常
      返回:
      DataRow