|
||||||||||
| 전의 Class에 다음의 Class에 | 프레임 있어 프레임 없음 | |||||||||
| Summary : 네스트 | 필드 | constructor | 메소드 | 상세 : 필드 | constructor | 메소드 | |||||||||
java.lang.Objectflex.data.assemblers.AbstractAssembler
flex.data.assemblers.HibernateAssembler
Public Class HibernateAssembler
Flex Data Management Services 에서의 Flex 의 행선지로서 Hibernate 엔티티를 지원(support)하는 어셈블러입니다. 이 Class를 그대로 사용하는 일도, 확장해, 영속성 기능을 클라이언트에 공개하는 방법을 상세하게 제어할 수도 있습니다. 또, 독자적인 fill 및 count 메소드를 서브 Class에 추가해, Configuration 파일로부터 참조할 수도 있습니다.
| 필드 Summary | |
|---|---|
protected flex.data.DataDestination |
dataDestination
|
protected String |
destinationId
|
protected flex.data.assemblers.HibernateManager |
hibernateManager
|
protected static Map |
hibernateManagers
|
protected flex.data.assemblers.HibernateManager |
hibernateType
|
static String |
LOG_CATEGORY
|
| Interface flex.data.adapters.JavaAdapterConstants 로부터 상속 받는 필드 |
|---|
AUTO_REFRESH_ELEMENT, CONFLICT_MODE_DEFAULT, CONFLICT_MODE_DELETE_ATTR, CONFLICT_MODE_UPDATE_ATTR, COUNT_ELEMENT, FILL_CONTAINS_METHOD_ELEMENT, FILL_ELEMENT, GET_ELEMENT, METHOD_NAME_ELEMENT, ORDERED_ELEMENT, PARAM_TYPES_ELEMENT, SECURITY_CONSTRAINT_ELEMENT, SECURITY_REF_ATTR, SECURITY_RUN_AS_ELEMENT, SYNC_ELEMENT |
| Interface flex.data.assemblers. Assembler 로부터 상속 받는 필드 |
|---|
APPEND_TO_FILL , DO_NOT_EXECUTE_FILL , EXECUTE_FILL , REMOVE_FROM_FILL |
| constructor Summary | |
|---|---|
HibernateAssembler ()
Assembler Class는 Data Management Services 에 의해 작성되므로, 수동으로 작성할 필요는 없습니다. |
|
| 메소드 Summary | |
|---|---|
boolean |
autoRefreshFill (List fillParameters)
Hibernate 어셈블러는 항상 fill 메소드를 자동 갱신하므로, 이 메소드는 모든 필에 대해 true 를 돌려줍니다. |
int |
count (List countParams)
Hibernate 어셈블러의 count 쿠에리를 실장합니다. |
protected org.hibernate.cfg.Configuration |
createHibernateConfiguration (String hibernateConfigFile)
이 메소드는, 지정된 Configuration 파일명의 Hibernate 의 Configuration 을 돌려줍니다. |
void |
createItem (Object item)
createItem 오퍼레이션을 실제로 실행합니다. |
void |
deleteItem (Object clientVersion)
Hibernate 아이템을 삭제합니다. |
protected void |
fetchObjectProperties (Object inst)
Serialization 프로세스에 필요한 모든 데이터가 취득된 것을 확인합니다. |
Collection |
fill (List fillArgs)
Hibernate 어셈블러에 fill 메소드를 실장합니다. |
Object |
getItem (Map identity)
지정된 ID 의 아이템을 돌려줍니다. |
protected void |
handleHibernateException (RuntimeException ite, String type)
이 메소드는, Hibernate 오퍼레이션을 처리하고 있을 때 Exception가 발생했을 경우에 불려 갑니다. |
void |
initialize (String id, ConfigMap properties)
이 initialize 메소드는, 행선지 마다 1 회씩 불려 갑니다. |
int |
refreshFill (List fillParameters, Object item, boolean isCreate)
Hibernate 어셈블러는, 아이템이 작성 또는 변경되면(자), 반드시 실행중의 모든 필을 갱신합니다. |
void |
updateItem (Object newItem, Object prevItem, List changes)
이 메소드는, Hibernate 아이템을 갱신하기 위해서 불려 갑니다. |
| Class flex.data.assemblers. AbstractAssembler 로부터 상속 받는 메소드 |
|---|
addItemToFill , getItems , removeItemFromFill |
| Class java.lang. Object 로부터 상속 받는 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| 필드의 상세 |
|---|
public static final String LOG_CATEGORY
protected static Map hibernateManagers
protected flex.data.assemblers.HibernateManager hibernateManager
protected flex.data.assemblers.HibernateType hibernateType
protected String destinationId
protected flex.data.DataDestination dataDestination
| constructor 의 상세 |
|---|
public HibernateAssembler()
| 메소드의 상세 |
|---|
public void initialize(String id, ConfigMap properties)
Hibernate 어셈블러는 2 개의 유틸리티 Class를 사용합니다. HibernateManager 는, 지정한 Hibernate Configuration 파일 마다 작성되는 Class입니다. 관련하는 Hibernate 엔티티의 그룹용으로 Data Management Services 를 Management합니다. HibernateType Class는, 어셈블러 인스턴스 마다 작성됩니다.
FlexConfigurable 의 initialize AbstractAssembler 의 initialize id - 이 어셈블러의 행선지명입니다. properties - properties 태그아래에서 이 행선지를 Configuration 하기 위해서 사용하는 프롭퍼티입니다. protected org.hibernate.cfg.Configuration createHibernateConfiguration(String hibernateConfigFile)
public int count(List countParams)
Assembler 의 count AbstractAssembler 의 count countParameters - 클라이언트 호출에 의해 제공되는 count 메소드의 파라미터의 리스트입니다.
public Object getItem(Map identity)
Assembler 의 getItem AbstractAssembler 의 getItem identity - 각 ID 프롭퍼티의 키/치의 페어가 포함되는 java.util.Map 입니다.
public Collection fill(List fillArgs)
행선지 Configuration 으로 allow-hql-queries 속성을 true 로 Configuration 하면(자), 클라이언트는 임의의 HQL 쿠에리도 건네줄 수가 있습니다. 이 경우는, 최초의 파라미터는 string 토큰,"flex:hql" 가 되어, 2 번째의 파라미터는 HQL string가 되어, 3 번째의 파라미터는, 쿠에리의 파라미터 세트를 배열 또는 java.util.Map 로서 지정합니다.
이 메소드를 재정의(override) 해, 그 외의 쿠에리를 추가하는 일도, Hibernate 쿠에리의 일반적인 실장 방법을 확장할 수도 있습니다.
Assembler 의 fill AbstractAssembler 의 fill fillArgs - 클라이언트의 DataService.fill 메소드에 제공되는 fill 파라미터의 리스트입니다. 최초의 파라미터, ArrayCollection 가 이 리스트에 포함되지 않는 것에 주의해 주세요.
public boolean autoRefreshFill(List fillParameters)
Assembler 의 autoRefreshFill AbstractAssembler 의 autoRefreshFill fillParameters - 1 개(살) 또는 복수의 클라이언트에 의해 그 시점에서도 Management되고 있는 Management 콜렉션을 작성한 fill 메소드에 대한 클라이언트 사이드 파라미터입니다.
public int refreshFill(List fillParameters, Object item, boolean isCreate)
Assembler 의 refreshFill AbstractAssembler 의 refreshFill fillParameters - 이 서버에 접속된 1 개(살) 또는 복수의 클라이언트에 의해 이 시점에서도 액티브하게 Management되고 있는 fill 메소드를 식별하는 파라미터입니다. item - 최근 위탁된 트랜잭션(transaction)로 작성 또는 갱신되고 있는 아이템입니다. isCreate - 이 아이템이 작성된 조작의 경우는 true, 갱신된 조작의 경우는 false 입니다.
protected void handleHibernateException(RuntimeException ite, String type)
public void createItem(Object item)
Assembler 의 createItem AbstractAssembler 의 createItem item - 작성하는 아이템의 최초의 인스턴스입니다. public void updateItem(Object newItem, Object prevItem, List changes)
Assembler 의 updateItem AbstractAssembler 의 updateItem newItem - 갱신의 실행에 사용하는 아이템의 새로운 버젼입니다. prevItem - 이러한 변경을 실시하기 전의 아이템의 원의 버젼입니다 (경합의 검출에 사용). changes - 변경된 프롭퍼티명의 리스트입니다. public void deleteItem(Object clientVersion)
Assembler 의 deleteItem AbstractAssembler 의 deleteItem clientVersion - 클라이언트가 삭제하려고 하고 있는 클라이언트상의 아이템의 원의 버젼입니다. protected void fetchObjectProperties(Object inst)
여기서 사용하는 기본적인 룰은, Data Management Services 의 지연 관련짓고의 마크가 프롭퍼티를 뒤따르지 않은 한, 프롭퍼티치를 깊게 검색한다고 하는 것입니다. 그 경우, Data Management Services 는, 관련지을 수 있었던 오브젝트의 ID 만을 확인하므로, 제공할 필요가 있는 것은 ID 만입니다.
이 프로세스의 이해하기 어려운 점은, 지연 Data Management Services 의 행선지가, 콜렉션 프롭퍼티로 참조되는 오브젝트의 ID 를 취득한다고 하는 점입니다. 따라서, 콜렉션이 지연의 경우는, 참조되고 있는 아이템의 ID 를 확실히 취득할 수 있도록(듯이), 적어도 콜렉션을 충분히 검색할 필요가 있습니다.
또, 오브젝트 그래프에 사이클을 넣을 수가 있는 점에도 주의해 주세요. 따라서, 이미 표시한 오브젝트가 검출되면(자), 검색을 정지합니다.
|
||||||||||
| 전의 Class에 다음의 Class에 | 프레임 있어 프레임 없음 | |||||||||
| Summary : 네스트 | 필드 | constructor | 메소드 | 상세 : 필드 | constructor | 메소드 | |||||||||