net.vvakame.blaz.meta
Class ModelMeta<M>

java.lang.Object
  extended by net.vvakame.blaz.meta.ModelMeta<M>
Type Parameters:
M -

public abstract class ModelMeta<M>
extends Object

モデルと Entity のヒモ付や、検索条件、ソート条件の指定を行うためのクラス.

Author:
vvakame

Field Summary
protected  List<String> classHierarchyList
           
static String PROPERTY_CLASS_HIERARCHY
          モデルの継承階層を保持するプロパティ名.
static String PROPERTY_KEY
          Key を保持するプロパティ名.
static String PROPERTY_SCHEMA
          モデルのスキーマリビジョンを保持するプロパティ名.
 
Constructor Summary
protected ModelMeta()
           
protected ModelMeta(ModelMeta<?> meta)
           
 
Method Summary
abstract  M entityToModel(Entity entity)
          Entity からモデルへの変換を行う.
もし、子孫クラスのモデルの場合、適切な ModelMeta に処理を委譲する.
abstract  Key getKey(M model)
          モデルに対して指定された Key を取得する.
abstract  String getKind()
          モデルを Entity として保存した時のKindを取得する.
abstract  Class<M> getModelClass()
          モデルの Class を取得する.
protected  String getModelName()
           
abstract  List<PropertyAttributeMeta<?>> getProperties()
          この ModelMeta が持つ全てのプロパティの一覧を返す。
abstract  Entity modelToEntity(M model)
          モデルから Entity への変換を行う.
もし、子孫クラスのモデルの場合、適切な ModelMeta に処理を委譲する.
abstract  void setKey(M model, Key key)
          モデルに対して指定された Key をセットする.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_KEY

public static final String PROPERTY_KEY
Key を保持するプロパティ名.

See Also:
Constant Field Values

PROPERTY_CLASS_HIERARCHY

public static final String PROPERTY_CLASS_HIERARCHY
モデルの継承階層を保持するプロパティ名.

See Also:
Constant Field Values

PROPERTY_SCHEMA

public static final String PROPERTY_SCHEMA
モデルのスキーマリビジョンを保持するプロパティ名.

See Also:
Constant Field Values

classHierarchyList

protected List<String> classHierarchyList
Constructor Detail

ModelMeta

protected ModelMeta()

ModelMeta

protected ModelMeta(ModelMeta<?> meta)
Method Detail

getModelName

protected String getModelName()

getModelClass

public abstract Class<M> getModelClass()
モデルの Class を取得する.

Returns:
モデルの Class

getKind

public abstract String getKind()
モデルを Entity として保存した時のKindを取得する.

Returns:
Kind名

setKey

public abstract void setKey(M model,
                            Key key)
モデルに対して指定された Key をセットする.

Parameters:
model - Key をセットされるモデル
key - セットする Key

getKey

public abstract Key getKey(M model)
モデルに対して指定された Key を取得する.

Parameters:
model - Key を取得するモデル
Returns:
取得した Key

getProperties

public abstract List<PropertyAttributeMeta<?>> getProperties()
この ModelMeta が持つ全てのプロパティの一覧を返す。

Returns:
プロパティの一覧

modelToEntity

public abstract Entity modelToEntity(M model)
モデルから Entity への変換を行う.
もし、子孫クラスのモデルの場合、適切な ModelMeta に処理を委譲する.

Parameters:
model - 変換元モデル
Returns:
変換後 Entity

entityToModel

public abstract M entityToModel(Entity entity)
Entity からモデルへの変換を行う.
もし、子孫クラスのモデルの場合、適切な ModelMeta に処理を委譲する.

Parameters:
entity - 変換元 Entity
Returns:
変換後モデル


Copyright © 2012. All Rights Reserved.