typequalifiers.java
来自「plugin for eclipse」· Java 代码 · 共 148 行
JAVA
148 行
/*
* Created on Jun 3, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package isis.anp.nesc.ot;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
/**
* @author sallai
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TypeQualifiers implements Collection {
LinkedHashMap map = new LinkedHashMap(2);
public boolean isConst() {
return map.containsKey("const");
}
public boolean isVolatile() {
return map.containsKey("volatile");
}
public String toString() {
StringBuffer sb = new StringBuffer();
Iterator i = map.values().iterator();
while (i.hasNext()) {
TypeQualifier tq = (TypeQualifier) i.next();
sb.append(tq.getDefNode().getText());
if(i.hasNext()) sb.append(" ");
}
return sb.toString();
}
public boolean addTypeQualifier(TypeQualifier tq) {
if(map.containsKey(tq.getDefNode().getText())) {
// TODO: error handling
// ctx.addError("Duplicate type qualifier: " + tq.getDefNode().getText(), new CodeLocation(tq.getDefNode()));
return false;
}
map.put(tq.getDefNode().getText(), tq);
return true;
}
public int size() {
return map.size();
}
public void clear() {
map.clear();
}
public boolean isEmpty() {
// TODO Auto-generated method stub
return map.isEmpty();
}
public Object[] toArray() {
// TODO Auto-generated method stub
return map.values().toArray();
}
public boolean add(Object arg0) {
return this.addTypeQualifier((TypeQualifier) arg0);
}
public boolean contains(Object arg0) {
// TODO Auto-generated method stub
return map.containsValue(arg0);
}
public boolean remove(Object arg0) {
if(map.containsValue(arg0)) {
map.remove(arg0);
return true;
} else {
return false;
}
}
public boolean addAll(Collection arg0) {
boolean changed = false;
Iterator i = arg0.iterator();
while (i.hasNext()) {
if(addTypeQualifier((TypeQualifier) i.next()) == true) {
changed = true;
}
}
return changed;
}
public boolean containsAll(Collection arg0) {
Iterator i = arg0.iterator();
while (i.hasNext()) {
if(map.containsValue(i.next())) return false;
}
return true;
}
public boolean removeAll(Collection arg0) {
boolean changed = false;
Iterator i = arg0.iterator();
while (i.hasNext()) {
Object o = i.next();
if(map.containsValue(o)) {
map.remove(o);
changed = true;
}
}
return changed;
}
public boolean retainAll(Collection arg0) {
boolean changed = false;
Iterator i = arg0.iterator();
while (i.hasNext()) {
Object o = i.next();
if(!map.containsValue(o)) {
map.remove(o);
changed = true;
}
}
return changed;
}
public Iterator iterator() {
// TODO Auto-generated method stub
return map.values().iterator();
}
public Object[] toArray(Object[] arg0) {
return map.values().toArray();
}
public Object clone() {
TypeQualifiers rval = new TypeQualifiers();
rval.addAll(this);
return rval;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?