Interface Artifactizable

All Known Subinterfaces:
Module
All Known Implementing Classes:
ActivitySetType, AttachmentType, Attribute, AttributeGroupType, AttributeOption, AttributeType, DependType, EasyDeskGroupImpl, EasyDeskModule, EasyDeskPermissionImpl, EasyDeskRoleImpl, EasyDeskUserImpl, EasyError, ItemType, OptionRelationship, Scope, TemplateModule, TimeScope

public interface Artifactizable

Artifactizable 은 EasyDesk Database 를 구성하는 모든 Table Member 를 Parameterize 하여 EasyDesk Workflow 로 관리하기 위하여 도입되었다.

Attribute --> Attribute Module --> Module User --> User Query --> Query Curriculum --> AttributeType : 하나의 Item 이 Attribute 에 대응한다.

CordovaPlugin --> Attribute : 하나의 item 이 AttributeOption 에 대응한다.

Artifactizable 을 구현하는 Object 은 여러유형이 있다.

Module 처럼 자신이 module 정보를 가지고 있는 것, User 처럼 자신과 Module 이 동등한 관계를 가지고 있는 것 Query/Report 처럼 어떠한 Module 에 속하여 있는 것 등등

Workflow : Artifacizable 이 먼저 생성되고 Artifactizable 의 LifeCycle 이 Confiremd 가 되면 그 정보로 NativeObject 을 생성시킨다. Artifactizable 은 존재하지만 NativeObject 이 아직 생성되어 있지 않으면 그것은 '실험실' 에 나타낸다.

  • Artifactizable Creation
  • Process 1. create artifcatizable item
  • Process 2. state checked --> workflow.modified.lifecycle.checked 참조 ( 모든Artifactizable 은 존재하여야 한다. )
  • process 3. create native object
  • process 4. create related item/native object

TODO : TorqueException 을 다른 Exception 으로 대체한다.
Author:
Youngho Cho
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Pattern
    Schema.xml Column description 에 저장되는 Column 대응 Attribute Name 설정 Pattern , seperate
    static final Pattern
    Schema.xml Column description 에 저장되는 Column 대응 Attribute Name 설정 Pattern , seperate
    static final org.slf4j.Logger
    Logging
  • Method Summary

    Modifier and Type
    Method
    Description
    default Item
    Object 의 속성을 서술하는 아이템을 구한다.
    default ComboKey
    ArtifactizableManager 에서 사용하는 itemable item cache key Module Key plus ItemType Key plus Persistance Key
    default Module
    itemable Object 이 속한 Module 1.
    itemable Object 의 itemType
    Artifactable 의 native object primaryKey
    build 하기 위하여 db 정보를 이용한다.
  • Field Details

    • logger

      static final org.slf4j.Logger logger
      Logging
    • ATTRIBUTE_MAP_PATTERN

      static final Pattern ATTRIBUTE_MAP_PATTERN
      Schema.xml Column description 에 저장되는 Column 대응 Attribute Name 설정 Pattern , seperate
    • ARTIFACTIZABLE_PATTERN

      static final Pattern ARTIFACTIZABLE_PATTERN
      Schema.xml Column description 에 저장되는 Column 대응 Attribute Name 설정 Pattern , seperate
  • Method Details

    • getArtifactKey

      default ComboKey getArtifactKey() throws TorqueException
      ArtifactizableManager 에서 사용하는 itemable item cache key Module Key plus ItemType Key plus Persistance Key
      Returns:
      cache key
      Throws:
      TorqueException - key 를 구하는 중 오류가 발생한 경우
    • getArtifact

      default Item getArtifact() throws TorqueException
      Object 의 속성을 서술하는 아이템을 구한다.
      Returns:
      item
      Throws:
      TorqueException - 조회 중 오류가 발생한 경우
    • getPrimaryKey

      ObjectKey<?> getPrimaryKey()
      Artifactable 의 native object primaryKey
      Returns:
      DOCUMENT ME!
    • getArtifactType

      ItemType getArtifactType() throws TorqueException
      itemable Object 의 itemType
      Returns:
      itemType
      Throws:
      TorqueException - 조회 중 오류가 발생한 경우
    • getArtifactModule

      default Module getArtifactModule() throws TorqueException
      itemable Object 이 속한 Module 1. System 운영 itemable Object (Attribute, Scope 등등...) 은 System 운영 Module 인 EasyDesk 에만 존재한다. 2. Module, User 등은 자체 Module 에서 sub module, 또는 사용자 등록을 할 수 있지만 Module 은 실제 Module 이 생성되고 User 는 ModelEntity 가 생성되고 있다. 일단 모든 관리 정보는 EasyDesk 에 저장한다. 3. ALL 은 Empty Module 이다. 4. GLOBAL 은 대부분 Module 의 ArticafactModule 이다. ( Parent )
      Returns:
      module
      Throws:
      TorqueException - 조회 중 오류가 발생한 경우
    • getTableMap

      TableMap getTableMap() throws TorqueException
      build 하기 위하여 db 정보를 이용한다. TODO remove, use annotation
      Returns:
      DOCUMENT ME!
      Throws:
      TorqueException - DOCUMENT ME!