以下のフォーマット・オプションを使用することができます。各サブコマンドのコマンド構文では、そのサブコマンドでどのフォーマット・オプションがサポートされているかを示しています。
フォーマット情報の後に、命名上の制約に関する情報が続きます。
ほとんどのコマンドの出力は、デフォルトで整列 (列による位置合わせ) が行われます。フォーマット・ストリングは、デフォルトの分離文字であるスペースを使用して各列に振り分けられます。
例えば、"%name Release=%release" というフォーマット・ストリングは、以下の列に振り分けられます。
* ストリング・リテラル "Release="
* キーワード %release
3 つのオブジェクトについてレポートするコマンドでは、以下のような出力が表示されます。
ClientSessionContext.java Release=client/1.0
DisplayNameResourceBundle.java Release=client/2.0
DataNotFoundException.java Release=client/1.0
この出力例では、2 番目の列を垂直方向に位置合わせするために、1 番目の列にスペースが含まれています。位置合わせは、端末のディスプレイ装置でモノスペース・フォントを使用していることを前提として計算されます。列の位置が揃っていない場合は、ディスプレイ装置でプロポーショナル・フォントではなく固定スペース・フォントを使用していることを確認してください。ディスプレイ装置で位置合わせが正しく行われるようにするには、ccm.cli.format.font を固定スペース・フォントに設定する必要があります。
改行文字を使用すると、フォーマット・ストリングを現在の列で終了させることができます。改行文字の後のテキストは、次の行の 1 番目の列の一部になります。
-sep|-separator separator オプションを使用して、異なる分離文字を指定することができます。例えば、"%name|Release %release" というフォーマット・ストリングがあるとします。デフォルトの分離文字を使用した場合、フォーマット・ストリングは以下の 2 つの列から構成されます。
* キーワード %name
* ストリング・リテラル "|Release"
3 つのオブジェクトについてレポートするコマンドでは、以下のような出力が表示されます。
ClientSessionContext.java|Release client/1.0
DisplayNameResourceBundle.java|Release client/2.0
DataNotFoundException.java|Release client/1.0
ここで、オプション -sep "|" を指定した場合に、同じフォーマット・ストリングがどのように解釈されるかを考えてみましょう。フォーマット・ストリングは、以下のように、パイプ分離文字を使用して各列に振り分けられます。
* ストリング・リテラル "Release "
* キーワード %release
同じデータに対して、出力結果は以下のようになります。
ClientSessionContext.java Release client/1.0
DisplayNameResourceBundle.java Release client/2.0
DataNotFoundException.java Release client/1.0
-nf|-noformat オプションは、列の位置合わせを使用しないように指定します。これを指定すると、すべての要素を含む単一の列としてフォーマット・ストリングが解釈されます。このオプションは、区切り文字で区切られている出力 (コンマ区切りなど) を作成する場合に使用してください。
これまでの例では、フォーマット・ストリングはストリング・リテラルまたは単純なキーワード (%release など) のいずれかから構成されていました。必要なフォーマットを実現するためにはこれで十分かもしれません。しかし、Synergy CLI クライアントは、さらに優れた制御性および柔軟性を提供するより高度な形式をサポートしています。
前述のように、-nf|-noformat オプションを指定しない限り、フォーマット・ストリングは最初に各列に振り分けられます。各列は、以下の要素を任意に組み合わせた集合として構成できます。
これは、出力ではそのまま表示されます。出力に単一のパーセント記号 (%) を表示させる場合は、%% のように、連続する 2つのパーセント記号を指定します。
これは、レポート対象オブジェクトの指定されたプロパティーの値のストリング表現に置き換わります。
これは、その列の内容に関するいくつかの全体的なフォーマットを制御します。詳しくは、列のフォーマット要素を参照してください。
これまでの例では、最も単純な形式のキーワードとして、パーセント記号の後にプロパティーの名前が指定されたキーワードが使用されていました。例えば、%release は、release というプロパティーの値のストリング表現に置き換わります。レポート対象オブジェクトが Synergy データベース内のオブジェクトである場合、プロパティー名は属性名か組み込みキーワードのいずれかです。
場合によっては、レポート対象オブジェクトがデータベース・エンティティーではないこともあります。例えば、プロジェクト・メンバーシップ・コンフリクトは、コンフリクトしているオブジェクト、親プロジェクト、コンフリクトのタイプ、関連するタスクなどのデータから構成されています。どのデータをレポート対象とするか指定するため、次のように、objectkey キーワードを使用することができます。
%[objectkey]propertyname
objectkey は、指定されたプロパティーが参照する、オブジェクトの部分を指定します。例えば、プロジェクト・メンバーシップ・コンフリクトの場合、object オブジェクト・キーはコンフリクトしているファイルまたはディレクトリーを参照し、project オブジェクト・キーはコンフリクトに関連する親プロジェクトを参照します。フォーマット・ストリング %[project]displayname %[object]release は、各メンバーシップ・コンフリクトに関連するプロジェクトの組み込みプロパティー displayname、およびコンフリクトしているファイルまたはディレクトリーの release プロパティーを表示します。
サポートされているオブジェクト・キーについての詳細は、それぞれのコマンドで説明されています。
Synergy CLI では拡張キーワードがサポートされています。拡張キーワードには、以下のいずれかの形式を使用します。
%{keywordspec}
%{keywordspec:-substitutionstring}
%{keywordspec:+substitutionstring}
ここで、keywordspec は以下のいずれかの形式にすることができます。
propertyname
+propertyname
-propertyname
[objectkey]propertyname
+[objectkey]propertyname
-[objectkey]propertyname
propertyname[propertyformat]
+propertyname[propertyformat]
-propertyname[propertyformat]
[objectkey]propertyname[propertyformat]
+[objectkey]propertyname[propertyformat]
-[objectkey]propertyname[propertyformat]
各形式において、objectkey は参照先のオブジェクトを指定します。propertyname はプロパティー (属性や組み込みキーワードなど) の名前です。
propertyformat はプロパティー値をストリングに変換してそれをフォーマットする方法を指定します。詳しくは、プロパティーのフォーマットを参照してください。
substitutionstring を使用する形式では、指定されたプロパティーまたは属性が存在するかどうかに応じて、拡張キーワードに対して置換ストリング・リテラルが使用されます。
先頭の任意指定の文字である + または - は、デフォルトのソート順序を指定します。詳しくは、ソートおよびグルーピングを参照してください。
例:
キーワード "%{release:-No release}" は、オブジェクトの release プロパティーを参照します。プロパティーが存在する場合は、その値が表示されます。プロパティーが存在しない場合は、ストリング "No release" が表示されます。
キーワード "%{[project]release[truncate='20']}" は、オブジェクトに関連付けられているプロジェクトの release プロパティーを参照します。プロパティーが存在する場合は、その値が使用されます。ただし、幅が 20 を超えると、切り捨てられて省略符号が表示されます。
キーワードがオブジェクトのプロパティーを参照している場合、その値はストリングに変換され、プロパティー・フォーマット・オプションを使用してフォーマットされます。例えば、ブール値属性は、ブール値である true または false を表すストリングに変換されます。プロパティーのフォーマットが指定されていない場合、プロパティー値は以下のようにストリングに変換されます。
値のタイプ | 変換 |
---|---|
NULL | ほとんどのコマンドでは、指定されたプロパティーが存在しない場合には "<Not available>" と表示されます。 |
ブール値 | ブール値の true は "TRUE" として表示され、false は "FALSE" として表示されます。 |
ストリング (ストリング属性またはテキスト属性) | ストリング値は、末尾の改行がすべて削除された状態で表示されます。 |
日付 (時刻属性) | 日付は日付ストリングに変換されます。ccm.cli.format.date が定義されている場合には、それが日付形式ストリングとして使用されます。定義されていない場合は、該当するロケールのデフォルトの日付形式が使用されます。 |
整数 | 整数は 10 進数ストリングとして表示されます。 |
浮動小数点数 | 浮動小数点数は 10 進数の浮動小数点ストリングとして表示されます。 |
集合 | プロパティー値が要素の集合である場合、値は、それぞれの要素がプロパティーとしてフォーマットされてコンマで区切られた形式になります。 |
キーワードまたは列のフォーマット要素では、各プロパティー値をフォーマットするための追加の制御要素を指定できます。そのためには、0 個、1 個、または複数個の以下の項目からなる propertyformat を指定します。複数の項目を指定する場合は、それらの項目を空白文字で区切ります。
propertyFormatName=propertyFormatValue
propertyFormatName='singleQuotedPropertyFormatValue'
propertyFormatName="doubleQuotedPropertyFormatValue"
ここで、
propertyFormatName はサポートされているプロパティー・フォーマット・オプションの名前です。
propertyFormatValue は空白文字を含まない値です。この値は、Java™ 正規表現規則で定義されている「単語」文字で構成されている必要があります。
singleQuotedPropertyFormatValue は、単一引用符 (アポストロフィ) 以外の任意の文字を含むことができるストリングです。
doubleQuotedPropertyFormatValue は、二重引用符以外の任意の文字を含むことができるストリングです。
例
wrap=20 truncate=100
これは、最大文字数である 100 文字で値を切り捨て、20 文字の列幅に収まるように文字を折り返すように指定します。
Rational Synergy は、以下のプロパティー・フォーマット名をサポートしています。
フォーマット・ストリングでは、列のフォーマット要素を指定して、その列内のデータのフォーマット方法を制御できます。列のフォーマット要素を指定すると、その要素で指定されたオプションを使用して列全体がフォーマットされます。列のフォーマット要素は次のような形式になります。
%[propertyformat]
ここで、propertyformat は、プロパティーのフォーマットで説明されているプロパティー・フォーマットです。
例えば、パイプ (|) を分離文字として使用したフォーマット・ストリング "%name|%[wrap=20]%version %{release[truncate=30]}" があるとします。このフォーマット・ストリングは、以下の 2 つの列から構成されます。
1 番目の列には %name キーワードが含まれます。
2 番目の列には、以下の 4 つの要素が含まれます。
2 番目の列が処理されるとき、表示されるストリングは以下のように決定されます。
必要に応じて、release プロパティー値がストリングに変換されます。
-f|-format format オプションは、使用するフォーマット・ストリングを指定します。任意のグローバル・フォーマット・オプションを使用することができます。指定を省略した場合は、サブコマンドに固有のデフォルトのフォーマット・ストリングがコマンドによって使用されます。
ほとんどのコマンドでは、ソート・オプションやグルーピング・オプションが指定されずにソートが実行される場合には、デフォルトのソート・アルゴリズムを使用して、レポート対象オブジェクトがソートされます。選択セットが更新されると、ソートされた出力でオブジェクトがレポートされた順序が、その選択セットに反映されます。
デフォルトのソート・アルゴリズムでは、フォーマット・ストリング、およびそのフォーマット・ストリング内のキーワードによって参照されている実際のプロパティー値が使用されます。例えば、Synergy データベース内のオブジェクトに対してフォーマット・ストリング "%create_time %release %displayname" を使用した場合には、以下のようなソートが実行されます。
デフォルトでは、それぞれのソート・キーでプロパティー値の昇順ソートが実行されます。これは、いずれかの拡張キーワード形式を使用して変更することができます。詳しくは、キーワードを参照してください。例えば、フォーマット・ストリング "%{-create_time} %{-release} %displayname" の場合は、以下のようにソートが実行されます。
最初に指定されているものから順番に引数を処理していくコマンドでは、通常、ソートは実行されないため、ソートやグルーピングに関連するオプションはいずれもサポートされていません。そのようなコマンドの例として、ccm properties があります。
-ns|-nosort オプションはすべてのソートおよびグルーピングを使用不可にします。このオプションは、オブジェクトの検出順序を保持する場合に使用します。
-sby|-sortby sort_spec オプションは、出力の明示的ソートを指定します。これによって、フォーマット・ストリングに基づくデフォルトのソート・アルゴリズムが指定変更されます。sort_spec は、以下の形式の項目が 1 つ以上列挙されたリストです。分離文字は任意指定で、指定する場合はコンマを使用します。
propertyname
+propertyname
-propertyname
[objectkey]propertyname
+[objectkey]propertyname
-[objectkey]propertyname
先頭に + が付いている項目は昇順のソート・キーとして使用されます。先頭に - が付いている項目は降順のソート・キーとして使用されます。いずれも付いていない項目は昇順のソート・キーとして使用されます。
例
昇順の create_time を 1 次キー、昇順の release を 2 次キーとしてソートします。
降順の create_time を1 次キー、昇順の release を 2 次キーとしてソートします。
昇順の release を1 次キー、降順の create_time を 2 次キーとしてソートします。
sort_spec にリストされているプロパティーがフォーマット・ストリングに含まれている必要はありません。-sby|-sortby を指定した場合、ソートはフォーマット・ストリングで参照されているプロパティーに依存しません。
グルーピングは、ソートを別の形で実現する機能です。-gby|-groupby groupformat オプションを指定すると、groupformat フォーマット・ストリングで指定された値によって初期レベルのソートが実行されます。同一のグルーピング・データ値セットを持つオブジェクトが一緒に保持され、出力ではそれらの前にグループ・ヘッダーが付けられます。グループ・ヘッダーは、指定された groupformat フォーマット・ストリングを展開することで生成されます。詳しくは、フォーマット・ストリングを参照してください。
例えば、-groupby "Release %release:" と指定すると、release プロパティーの値を 1 次キーとして使用して、すべてのオブジェクトがソートされます。これは、他のどのソート・キーよりも優先されます。例えば、コマンドで 5 つのオブジェクトがレポートされ、そのうちの 2 つはリリース値が 1.0 であり、3 つはリリース値が 2.0 である場合、オブジェクトは以下のようにグルーピングされます。
Release 1.0:
リリースが 1.0 である最初のオブジェクト
リリースが 1.0 である 2 番目のオブジェクト
Release 2.0:
リリースが 2.0 である最初のオブジェクト
リリースが 2.0 である 2 番目のオブジェクト
リリースが 2.0 である 3 番目のオブジェクト
グルーピングとソートの両方を使用した場合には、groupformat で指定されたソート・キーが最初に使用されます。次に、sort_spec が指定されていればそのソート・キーが使用され、指定されていなければ format ストリングが使用されます。例えば、-groupby "Release %release:" -sortby create_time と指定すると、ソートでは、release が昇順の 1 次キーとして使用され、create_time が昇順の 2 次キーとして使用されます。
グルーピング、ソート、および列ヘッダーの詳細例については、フォーマットの使用例の 2 番目の例を参照してください。
列ヘッダーはフォーマット・ストリングから導出されるタイトル・ストリングです。これは、出力で各列の上部にヘッダーとして表示されます。例えば、"%name %release %create_time" というフォーマット・ストリングを指定した場合、対応する列ヘッダーは、列 1 が Name、列 2 が Release、および列 3 が Create_time になります。
グルーピング、ソート、および列ヘッダーの詳細例については、フォーマットの使用例の 2 番目の例を参照してください。
出力に列ヘッダーを使用するように指定します。このオプションを -nf|-noformat オプションと一緒に使用することはできません。
デフォルトでは、列ヘッダーは使用されません。
出力に列ヘッダーを使用しないように指定します。ほとんどのコマンドではこれがデフォルトです。
出力が Synergy データベース内のオブジェクトを表しているコマンドのうち、選択セットを設定するコマンドでは、デフォルトで、番号付き出力が使用されます。番号付けには、クエリー選択セット参照形式を使用してそのオブジェクトを参照するために使用される選択セット参照番号が反映されます。
出力に番号を付けないように指定します。このオプションは、出力の順序付けや、結果として生成される選択セットの順序付けには影響を与えません。
オブジェクト名には、制限文字以外の英数字と記号の任意の組み合わせを含めることができます。
以下に、Rational Synergy オブジェクトの命名上の制約の一部を示します。
その他の制限文字およびそれらが制限されている理由は、次の表のとおりです。
文字 | 制限されている理由 |
---|---|
/ | UNIX のパス区切り文字、内部区切り文字 |
¥ | Windows のパス区切り文字、エスケープ文字 |
' | UNIX の引用文字 (開始引用符) |
" | Windows の引用文字 |
: | Windows のドライブ名区切り文字、Rational Synergy のオブジェクト仕様区切り文字 |
? | INFORMIX の単一文字ワイルドカード、正規表現 |
* | INFORMIX の複数文字ワイルドカード、正規表現 |
[ | INFORMIX の一致構文、正規表現 |
] | INFORMIX の一致構文、正規表現 |
@ | Rational Synergy のオブジェクト仕様区切り文字 |
- | Rational Synergy のバージョン区切り文字 |
以下の文字をオブジェクト名の先頭文字として使用することはできません。