Graphisoft®

File Type ManagerVersion: 1.0

소개

파일 타입 관리자의 목적은 파일 타입 식별 및 관리를 플랫폼 독립적인 방식으로 제공하는 것입니다. AC에서 등록된 파일 타입들의 수가 늘어남에 따라 이것들을 식별할 수 없게 될 것입니다. 왜냐하면 Win32의 3바이트 확장자와 Mac의 MacType을 사용하는 것은 특정 타입의 파일들이 서로 구별할 수 없기 때문입니다. 일부 타입들은 파일 내부를 읽고 그 내용을 통해 식별하는 수밖에 없습니다. 사용되는 확장자의 수를 줄이고 파일 타입들의 "패밀리들"에 대하여 동일한 확장자를 사용할 필요성이 있습니다.

파일 타입 관리자는 타입 정보를 관리하기 위해 2개의 클래스를 구현합니다. 작은 클래스를 FileType이라고 합니다. 이것은 파일의 특정 타입에 대한 기본 정보(확장자, 설명, MacType 등)를 저장하는 데 사용됩니다. 이 클래스는 또한 일부 IO 함수들 간에 타입 정보 교환을 위한 standalone 객체로 사용될 수도 있습니다.

둘째 클래스는 FileTypeManager라고 합니다. 이것은 파일 타입 정보를 구성합니다. 이 클래스는 계층 그룹 안에 FileType 객체들을 저장합니다. 각 파일 타입은 여러 그룹들의 멤버가 될 수 있습니다. 이것은 그룹과 타입 간에 1레벨 다-대-다 관계를 가능하게 해줍니다. 그러나 그룹과 그룹 간의 관계는 단일 부모, 트리 타입 계층으로 제한됩니다.

 

FileTypeManager의 데이터베이스정적입니다. 이것은 모든 FileTypeManager 객체들이 몇 가지 제한사항을 가진 다른 FileTypeManager 객체들에 의해 저장된 정보를 사용할 수 있다는 것을 의미합니다. 또한 많은 멤버 함수들정적일 수 있게 해줍니다. 그래서 FileTypeManager 객체의 인스턴스 없이도 이것들을 사용할 수 있습니다. 일반적으로 타입 정보를 관리하는 함수들은 관리자로 FileType 객체를 입력하는 FileTypeManager 객체와 연결되어 있습니다. FileTypeManager의 중요한 행동은 인스턴스의 파괴에 대한 정적 데이터베이스로부터 고유의 데이터를 정리하는 것입니다. 대부분의 검색 및 기타 쿼리 함수들은 정적입니다. 동일한 FileTypeManager가 입력하고 쿼리한 FileType은 다른 FileTypeManager들이 입력한 FileType들에 대하여 privilege를 갖고 있습니다. 이것은 만약 AddOn이 자신만의 FileTypeManager 객체를 만들면 그것은 AC 또는 다른 AddOn이 만든 FileTypeManager의 사용을 손상시킬 수 있는 정적 데이터베이스로 어떤 데이터도 입력할 수 없음을 의미합니다.

참고사항

파일 타입 관리자, FileTypeManager class, FileType class