---
schema_version: "1"
id: f393ab0815a8ef3b9508e08c53b3805595800e3d1cd650622b0841e1e869d242
title: 排他的省略可能パラメーター
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/exclusive-optionals.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/exclusive-optionals
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 4e4fefc63f4fac0a8ca3972153b1b5d1efae3366702cf9f6bcb3557c54f133e8
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# 排他的省略可能パラメーター

同じものを何通りかの方法で設定できるモジュールを開発していて、その中の 1 つだけを使用する必要があるケースでは、次のルールの設定が必要な場合もあります。

- 特定のパラメーターセットから一度に 1 つだけを使用すること。

`@ExclusiveOptionals`​ を使用することで、この制約を適用することができます。

## [](#exclusiveoptionals)@ExclusiveOptionals

`@ExclusiveOptionals`​ アノテーションは、​`@ParameterGroup`​ として使用される種別でのみ使用できます (詳細は​​[パラメーター](https://docs.mulesoft.com/jp/mule-sdk/1.1/parameters)​​を参照してください)。

例

```java
@ExclusiveOptionals
public class ExclusiveOptionalsExample {

    @Parameter
    private String requiredParameter;

    @Parameter
    @Optional
    private String optionalParameter;

    @Parameter
    @Optional
    private String anotherOptionalParameter;
}
```

アノテーション名が示すように、排他的な制約は省略可能なパラメーターにのみ適用されます。そのため、​`requiredParameter`​ を ​`optionalParameter`​ や ​`anotherOptionalParameter`​ と同時に設定することはできますが、​`optionalParameter`​ と ​`anotherOptionalParameter`​ を同時に設定すると、エラーがスローされます。

ヒント: `@ExclusiveOptionals`​ でアノテーションが付加されたオブジェクトの内部では、パラメーターをいくつでも設定できますが、同時に設定できる省略可能なパラメーターは 1 つだけです。

## [](#最低-1-つのパラメーターを適用する)最低 1 つのパラメーターを適用する

省略可能なパラメーターを正確に 1 つ (1 つのみ) 設定する必要があるケースがあります。この要件は、​`@ExclusiveOptionals(isOneRequired = true)`​ を使用して設定できます。次に例を示します。

```java
@ExclusiveOptionals(isOneRequired = true)
public class OneRequiredExample {

    @Parameter
    private String requiredParameter;

    @Parameter
    @Optional
    private String optionalParameter;

    @Parameter
    @Optional
    private String anotherOptionalParameter;
}
```

そのため、​`requiredParameter`​ を設定して、省略可能なパラメーターの ​`optionalParameter`​ または ​`anotherOptionalParameter`​ を設定しないと、エラーがスローされます。