Belongs to following categories: Extension, ULC6.1, ULC6.2,
The second purpose of this extension is the ULCMessageDataType.
This DataType is a decorater for IDataTypes, which associates a datatype with a message.
If the validation fails, the message is shown on the IMessageDisplayHandler permanetly or temporary without server round trip.
IMessageDisplayHandler messageBar = new ULCMessageBar(3000); messageBar.showMessage("This message is visible until you click it away!", false); // or messageBar.showMessage("This message is shown for 3 seconds or you click it away!", true);
messageBar.setDefaultMessage("The default message");messageBar.setShowLastMessageOnMouseOver(true);IMessageDisplayHandler messageBar = new ULCMessageBar(2000); ULCTextField dateTextField = new ULCTextField(10); IDataType dataType = new ULCMessageDataType(new ULCDateDataType(), messageBar, "Must be date."); dateTextField.setDataType(dataType);
dataType.setBeep(true);// server side implementationpublic class YourServerSideComponent extends (ULCProxy or some subclass of it) implements com.canoo.ulc.community.messagebar.application.IMessageDisplayHandler { public YourServerSideComponent(int displayTime) { ULCMessageDisplayManager.register(this); // don't forget to register your component! setDisplayTime(displayTime); } public void setDisplayTime(int displayTime) { if (displayTime < 0) { throw new IllegalArgumentException("Invalid display time: " + displayTime); } ULCMessageDisplayManager.setDisplayTime(this, displayTime); } public void showMessage(String message, boolean temporary) { ULCMessageDisplayManager.showMessage(this, message, temporary); } public void resetMessage() { ULCMessageDisplayManager.resetMessage(this); } protected String typeString() { return "YourClientSideComponent"; } }//client side implementationpublic class YourClientSideComponent implements com.canoo.ulc.community.messagebar.client.IMessageDisplayHandler { public void showMessage(String message) { // your implementation; } public void clearMessage() { // your implementation; } }
private void showMessage(IMessageDisplayHandler messageDisplayHandler, String message, boolean temporary) { UIMessageDisplayManager instance = UIMessageDisplayManager.getInstance(getSession()); instance.showMessage(messageDisplayHandler, message, temporary); … }