ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     タグについて(タグ付値)
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
ゲスト
投稿日時: 2007-9-13 18:01
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

度々の丁寧なご返信ありがとうございます。
以下、確認させてください。
クラス図の、操作をクリックすると、タグが表示されます。
その中のベースというタグの中の定義に”test message”と書いています。クラス名や、属性のタグのベースにある定義にも同様の文字を書いています。タグの中の、staticなどをtrueなどにしないといけないなどの設定があるのでしょうか?ご確認のほど、よろしくお願いします。
zhouyi
投稿日時: 2007-9-13 19:00
開発者
登録日: 2006-5-9
居住地: 福井
投稿: 48
Re: タグについて(タグ付値)
こんばんは、zhouyiです。

[siteimg]uploads/thumbs0/269.jpg[/siteimg]

もしかしたら、「syuuhei」さんは図にある"操作の定義"をAPIで
取得したいと思っています?

お互いに大きな勘違いをしてきたような気がします。

このベースのヤツをタブと呼ぶのですが、タグではないです。
イメージ図に"タグ付き値"タブが見えると思いますが、
あのタブにリストされている値をタグと呼びます。

タブ ---- Tab
モデルを見せるための媒体です。

タグ ---- Tag
モデルの一部

"操作の定義"は、モデルの定義でモデルの一部です。
よって、INamedElementのgetDefinition()で取得できます。

----------- サンプルソース (s) --------------------------
private void showDefinition(INamedElement element) {
System.out.println("Definition is " + element.getDefinition());
}
----------- サンプルソース (e) --------------------------

以上、よろしくお願い致します。
ゲスト
投稿日時: 2007-9-14 18:19
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

私が表現と言葉を間違えていました。
本当に申し訳ありませんでした。
問題は解決しました。
本当にありがとうございます。

それと、showCommentでご教授いただいていたものは、クラス図の何を表示するものだったのでしょうか。
今後もjudeを使わせていただく予定ですので、参考までにご教授していただけると幸いです。
よろしくお願いします。
zhouyi
投稿日時: 2007-9-18 14:08
開発者
登録日: 2006-5-9
居住地: 福井
投稿: 48
Re: タグについて(タグ付値)
こんにちは、zhouyiです。

showCommentは、クラスの特定のタグ付き値(TaggedValue)を取得するメソッドです。

タグ付き値(TaggedValue)は、UMLの概念で、様々なモデル要素(クラスだけではなく)に持たれています。
JUDEでは、各モデル要素の拡張属性として、使って頂ければと思います。

例えば、クラスの作者や見積もりをクラスのタグ付き値で補足できます。

タグ=作成者、値=zhouyi
タグ=見積もり、値=10 days
など。

今後もよろしくお願い致します。
ゲスト
投稿日時: 2007-9-18 17:06
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

ご教授、ありがとうございます。
しばらく、judeを利用させていただく予定です。
また何かありましたら、よろしくお願いします。
ゲスト
投稿日時: 2007-10-30 15:14
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

前回はお世話になりました。
おかげで、やりたいことが順調に進みました。

そして、また聞きたいことがあります。
よろしくお願いします。
前回、回答いただいた下記の、操作の定義の出力についてです。

private void showDefinition(INamedElement element) {
System.out.println("Definition is " + element.getDefinition());
}

これをファイル(hello.java)にアウトプットしたいと考えました。
それで、下記のように書いたのですが駄目でした。
どこが悪いかご指摘いただけると幸いです。
よろしくお願いします。

try
{
FileOutputStream fos = new FileOutputStream("hello.java");
 OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
 BufferedWriter bw = new BufferedWriter(osw);
bw.write(operations[i].getDefinition());

bw.close();
osw.close();
fos.close();
}
catch (Exception e)
{
e.printStackTrace();
}
zhouyi
投稿日時: 2007-10-31 19:20
開発者
登録日: 2006-5-9
居住地: 福井
投稿: 48
Re: タグについて(タグ付値)
御疲れ様です。

具体的にどのような不具合が起きたかを教えて
頂けないでしょうか?

すべての操作の定義を"hello.java"に出力することは目的ではないでしょうか、
と憶測しておりますが、そうでしょうか?

ソースコードをもっと詳細に掲載して頂ければ、
より分析しやすくなりますが、よろしいでしょうか?

以上、よろしくお願い致します。
ゲスト
投稿日時: 2007-10-31 19:34
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

ソースコードの目的は、一つのクラスの操作の定義をファイルに出力することです。下記コードの一番下の部分で、操作の定義を出力することはできました。これに、さきほどのコードを加えたのですが、ファイルに出力されません。printlnで出力されているので、同じものをファイルに出力するのは可能なのではないのですか?javaの初歩的な質問かもしれませんが、どうしても改善できません。問題点をご指摘いただけると幸いです。

private static void printOperations(IClass c)
{
IOperation[] operations = c.getOperations();
for (int i = 0; i < operations.length; i++)
{
System.out.print(" " + operations[i].getName() + "(");
// print Parameters
IParameter[] params = operations[i].getParameters();
for (int j = 0; j < params.length; j++)
{
System.out.print(params[j].getName() + ",");
}
// print Return Type
System.out.println(") : " + operations[i].getReturnTypeExpression());
//print 操作の定義
System.out.println("Definition is " + operations[i].getDefinition());
   ←ここにさきほどのコードを加えた
}
}
zhouyi
投稿日時: 2007-10-31 20:02
開発者
登録日: 2006-5-9
居住地: 福井
投稿: 48
Re: タグについて(タグ付値)
ソースコード、ありがとうございます。

for (int i = 0; i < operations.length; i++)
{
:
try
{
FileOutputStream fos = new FileOutputStream("hello.java");
 OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
 BufferedWriter bw = new BufferedWriter(osw);
bw.write(operations[i].getDefinition());

bw.close();
osw.close();
fos.close();
}
catch (Exception e)
{
e.printStackTrace();
:
}
}

このような感じでしょうか?
それだと、"hello.java"に常にi番目の定義しか書き込まないです。
以下の修正を試して頂けないでしょうか?

try
{
FileOutputStream fos = new FileOutputStream("hello.java");
 OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
 BufferedWriter bw = new BufferedWriter(osw);

for (int i = 0; i < operations.length; i++)
{
:
bw.write(operations[i].getDefinition());
:
}

bw.close();
osw.close();
fos.close();
}
catch (Exception e)
{
e.printStackTrace();
:
}

以上、よろしくお願い致します。
ゲスト
投稿日時: 2007-11-1 15:58
Re: タグについて(タグ付値)
ゲストの「syuuhei」さんからの投稿です。
---

お世話になります。
ご返答いただいたコードで試してみました。
以下部分の、iはローカル変数として重複してしまいますのでkに変えて実行してみましたが、hello.javaには書き込まれませんでした。

for (int i = 0; i < operations.length; i++)
{
bw.write(operations[i].getDefinition());
}

上記ループに関する事は、当方もいくつか試しました。
printlnでは出力できるのに、なぜなんでしょうか?
申し訳ないのですが、検討がつきません。
プログラム的欠陥かもしれませんが、APIの使用で問題があるのかと考えたため、投稿させてもらった次第です。
よろしくお願いします。
« 1 (2) 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を