package er.directtoweb.components;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2WContext;
import er.extensions.foundation.ERXStringUtilities;
/**
* <span class="ja">
* このコンポーネントは項目のヒントを表示します。
*
* ルール又はユーザ・ディクショナリーで hint を指定します。
* String ローカライズ・ファイルのキーワードは 'Hint.' で始まります。
*
* そうすると項目の右側にメッセージが表示されます。
* ただし、"inspect" と "edit" タスク時のみで表示される
*
* @d2wKey hint - 表示するヒント
* </span>
*
* @author ishimoto
*/
public class ERDDisplayHint extends ERD2WStatelessComponent {
/**
* Do I need to update serialVersionUID?
* See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the
* <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a>
*/
private static final long serialVersionUID = 1L;
public ERDDisplayHint(WOContext aContext) {
super(aContext);
}
public boolean displayHint() {
D2WContext d2w = (D2WContext) valueForBinding("d2wContext");
String task = d2w.task();
if("inspect".equals(task) || "edit".equals(task)) {
return true;
}
return false;
}
public String stringForHint() {
D2WContext d2w = (D2WContext) valueForBinding("d2wContext");
StringBuilder sb = new StringBuilder();
sb.append("Hint.");
Object o = d2w.valueForKey("hint");
if(ERXStringUtilities.stringIsNullOrEmpty(String.valueOf(o))) {
sb.append("SampleText");
} else {
sb.append(String.valueOf(o));
}
return sb.toString();
}
}