---
schema_version: "1"
id: ba49e89606c9b8c359555b6be6d36981d5d06a2e7e024017fd4f01e2c9fd8a3a
title: 他のモジュールからの型のインポート
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/imported-types.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/imported-types
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 744876ca19abe927112a0e57542588f42f33cae629ffa5007ba15c7b08c6f316
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# 他のモジュールからの型のインポート

すべてのモジュールは、モジュールの API の一部である型のセットを宣言できます。この型のセットは、元のモジュールの名前空間の定義を維持したままで、他のモジュールにインポートできます。

他のモジュールからの型のインポートは、多くの場合で役に立ちます。一例を挙げます。

- 特定の認証方法など、型内にバンドルされたロジックを再利用する。
- 同じプロパティの設定用に同じ API をユーザーに公開する。たとえば、同じパラメーターを同じ順序で、同じ記述で設定する場合は、異なるモジュールで同じ型を使用することで実現できます。

モジュールの型は 3 ステップで再利用できます。

1. `pom.xml`​ 内の連動関係を、API を使用する ​`mule-plugin`​ に追加します。
    
    ```xml
        <dependency>
            <groupId>org.mule.connectors</groupId>
            <artifactId>mule-sockets-connector</artifactId> (1)
            <version>${muleSocketsConnectorVersion}</version>
            <classifier>mule-plugin</classifier> (2)
        </dependency>
    ```
    
    <table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>型が宣言されているモジュール</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td><code>mule-plugin</code>​ 分類子を忘れずに連動関係に追加すること</td></tr></tbody></table>
2. インポートする型を参照している Extension クラスで ​`@Import`​ を宣言します。
    
    ```java
    @Extension(name = "HTTP")
    @Import(type = TcpClientSocketProperties.class)
    @Import(type = TcpServerSocketProperties.class)
    public class HttpConnector {
    
    }
    ```
3. パラメーター宣言で型を使用します。
    
    ```java
    @Alias("request")
    public class HttpRequesterProvider implements CachedConnectionProvider<HttpExtensionClient> {
    
      @Parameter
      private TcpClientSocketProperties clientSocketProperties;
    
    }
    ```

これによって DSL 宣言がどのように変わるかに注意してください。拡張 (この例では ​`http`​) が別の名前空間 (この例では ​`sockets`​) で宣言されたパラメーターを受け取ることができるようになりました。

```xml
<http:request-connection>
  <http:client-socket-properties>
      <sockets:tcp-client-socket-properties connectionTimeout="1000" keepAlive="true" receiveBufferSize="1024"/>
  </http:client-socket-properties>
</http:request-connection>
```