📄 messagelist.java
字号:
package COMMON;
//import java.util.List;
import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.Collection;
//import java.util.ListIterator;
/**
* <p>title: MessageList</p>
* <p>explanation: </p>
*
* @author ym
* @version 1.0
*/
public class MessageList extends ArrayList {
private static final int NULL_TYPE = 0;
private static final int STRING_TYPE = 1;
private static final int STRING_ARRAY_TYPE = 2;
private static final int INT_ARRAY_TYPE = 3;
private static final int OTHER_TYPE = 4;
// 儔儀儖巜掕偁傝
public boolean setMessage(Object key, Object value,
String msgid, int rowid, Object label) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, null,null,label);
}
// 儔儀儖偺僫儞僶乕巜掕柍偟乮僆儕僕僫儖乯
public boolean setMessage(Object key, Object value,
String msgid, int rowid) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, null,null,null);
}
public boolean setMessage(Object key, Object value,
String msgid, int rowid, Object[] formatArgs) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, formatArgs,null,null);
}
public boolean setMessage(Object key, Object value,
String msgid, int rowid, Object[] formatArgs, Object label) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, formatArgs,null,label);
}
public boolean setMessage(Object key, Object value,
String msgid, int[] rowid) {
return setMessageWithLabel(key, value, msgid, rowid, null,null,null);
}
public boolean setMessage(Object key, Object value,
String msgid, int[] rowid, Object[] formatArgs) {
return setMessageWithLabel(key, value, msgid, rowid, formatArgs, null, null);
}
// 儔儀儖偺僫儞僶乕巜掕偁傝
public boolean setMessageWithLabel(Object key, Object value,
String msgid, int rowid, Object labelNum) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, null,labelNum, null);
}
public boolean setMessageWithLabel(Object key, Object value,
String msgid, int rowid, Object[] formatArgs, Object labelNum) {
return setMessageWithLabel(key, value, msgid, new int[]{rowid}, formatArgs,labelNum, null);
}
public boolean setMessageWithLabel(Object key, Object value,
String msgid, int[] rowid, Object labelNum) {
return setMessageWithLabel(key, value, msgid, rowid, null,labelNum, null);
}
public boolean setMessageWithLabel(Object key, Object value,
String msgid, int[] rowid, Object[] formatArgs, Object labelNum,
Object label) {
//check start
//class check
int keyStatus = getStatus(key);
int valueStatus = getStatus(value);
int rowidStatus = getStatus(rowid);
//int labelStatus = getStatus(label);
if (keyStatus == INT_ARRAY_TYPE || keyStatus == OTHER_TYPE
|| valueStatus == INT_ARRAY_TYPE || valueStatus == OTHER_TYPE
|| rowidStatus == STRING_TYPE || rowidStatus == STRING_ARRAY_TYPE
|| rowidStatus == OTHER_TYPE) {
throw new ClassCastException();
}
//relation check
if (keyStatus == STRING_TYPE && valueStatus == STRING_ARRAY_TYPE
|| keyStatus == STRING_ARRAY_TYPE && valueStatus == STRING_TYPE
|| keyStatus == NULL_TYPE && valueStatus != NULL_TYPE) {
throw new IndexOutOfBoundsException();
}
if (keyStatus != NULL_TYPE && rowidStatus == NULL_TYPE) {
throw new ClassCastException();
}
//size check
if (keyStatus == STRING_TYPE) {
int rowidSize = ((int[])rowid).length;
if (rowidSize != 1) {
throw new IndexOutOfBoundsException();
}
}
if (keyStatus == STRING_ARRAY_TYPE) {
int keySize = ((String[])key).length;
int rowidSize = ((int[])rowid).length;
if (keySize != rowidSize) {
throw new IndexOutOfBoundsException();
}
if (valueStatus == STRING_ARRAY_TYPE) {
int valueSize = ((String[])value).length;
if (keySize != valueSize) {
throw new IndexOutOfBoundsException();
}
}
}
//check end
MessageElement e = new MessageElement();
if (keyStatus == NULL_TYPE || keyStatus == STRING_TYPE) {
e.setKey((String)key);
e.setLabelNum((String)labelNum);
if ( label != null ){
String[] labelText = new String[]{ (String)label };
e.setLabelText( labelText );
}
} else if (keyStatus == STRING_ARRAY_TYPE) {
e.setKeys((String[])key);
e.setLabelNums((String[])labelNum);
if ( label != null ){
e.setLabelText( (String[])label );
}
}
if (valueStatus == NULL_TYPE || valueStatus == STRING_TYPE) {
e.setValue((String)value);
} else if (valueStatus == STRING_ARRAY_TYPE) {
e.setValues((String[])value);
}
e.setMsgId(msgid);
e.setRowids(rowid);
e.setFormatArgs(formatArgs);
return add(e);
}
private int getStatus(Object obj) {
int status;
if (obj == null) {
status = NULL_TYPE;
} else {
if (obj instanceof String) {
status = STRING_TYPE;
} else if (obj instanceof String[]) {
status = STRING_ARRAY_TYPE;
} else if (obj instanceof int[]) {
status = INT_ARRAY_TYPE;
} else {
status = OTHER_TYPE;
}
}
return status;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -