You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.1 KiB
69 lines
2.1 KiB
package com.fr.plugin.file.submit.oss.fun; |
|
|
|
import com.fanruan.api.xml.XmlKit; |
|
import com.fr.stable.xml.XMLPrintWriter; |
|
import com.fr.stable.xml.XMLReadable; |
|
import com.fr.stable.xml.XMLable; |
|
import com.fr.stable.xml.XMLableReader; |
|
|
|
import java.util.ArrayList; |
|
import java.util.List; |
|
|
|
public class OssSubmitTargetConfig implements XMLable { |
|
|
|
public static final String XML_TAG = "OssSubmitTargetConfig"; |
|
|
|
private List<OssSubmitTarget> targets = new ArrayList<OssSubmitTarget>(); |
|
|
|
public void addSubmitTarget(OssSubmitTarget target) { |
|
targets.add(target); |
|
} |
|
|
|
public void clearSubmitTargets() { |
|
targets.clear(); |
|
} |
|
|
|
public void removeSubmitTarget(OssSubmitTarget target) { |
|
targets.remove(target); |
|
} |
|
|
|
public OssSubmitTarget[] getSubmitTargets() { |
|
return targets.toArray(new OssSubmitTarget[0]); |
|
} |
|
|
|
@Override |
|
public void readXML(XMLableReader reader) { |
|
if (reader.isChildNode()) { |
|
reader.readXMLObject(new XMLReadable() { |
|
@Override |
|
public void readXML(XMLableReader xmLableReader) { |
|
if (xmLableReader.isChildNode()) { |
|
String tagName = xmLableReader.getTagName(); |
|
if (OssSubmitTarget.XML_TAG.equals(tagName)) { |
|
OssSubmitTarget target = (OssSubmitTarget)XmlKit.readXMLable(xmLableReader); |
|
targets.add(target); |
|
} |
|
} |
|
} |
|
}); |
|
} |
|
} |
|
|
|
@Override |
|
public void writeXML(XMLPrintWriter writer) { |
|
for (OssSubmitTarget target : targets) { |
|
XmlKit.writeXMLable(writer, target, OssSubmitTarget.XML_TAG); |
|
} |
|
} |
|
|
|
@Override |
|
public Object clone() throws CloneNotSupportedException { |
|
OssSubmitTargetConfig cloned = (OssSubmitTargetConfig) super.clone(); |
|
List<OssSubmitTarget> list = new ArrayList<OssSubmitTarget>(); |
|
for (OssSubmitTarget target : targets) { |
|
list.add((OssSubmitTarget) target.clone()); |
|
} |
|
cloned.targets = list; |
|
return cloned; |
|
} |
|
}
|
|
|