/**
* Copyright 1999-2011 Alibaba Group
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.cobar.client.router.config.vo;
import java.util.ArrayList;
import java.util.List;
import com.thoughtworks.xstream.XStream;
public class InternalRules {
private List<InternalRule> rules;
public void setRules(List<InternalRule> rules) {
this.rules = rules;
}
public List<InternalRule> getRules() {
return rules;
}
public static void main(String[] args) {
XStream xstream = new XStream();
xstream.alias("rules", InternalRules.class);
xstream.alias("rule", InternalRule.class);
xstream.addImplicitCollection(InternalRules.class, "rules");
xstream.useAttributeFor(InternalRule.class, "merger");
InternalRules rules = new InternalRules();
List<InternalRule> rList = new ArrayList<InternalRule>();
InternalRule r1 = new InternalRule();
r1.setNamespace("com.alibaba.cobar.client.entity.Follower");
r1.setShards("partition1");
rList.add(r1);
InternalRule r2 = new InternalRule();
r2.setSqlmap("com.alibaba.cobar.client.entity.Follower.create");
r2.setShards("p1, p2");
rList.add(r2);
InternalRule r3 = new InternalRule();
r3.setSqlmap("com.alibaba.cobar.client.entity.Follower.create");
r3.setShardingExpression("id>10000 and id< 20000");
r3.setShards("p1, p2");
rList.add(r3);
InternalRule r4 = new InternalRule();
r4.setNamespace("com.alibaba.cobar.client.entity.Follower");
r4.setShardingExpression("id>10000 and id< 20000");
r4.setShards("p1, p2");
// r4.setMerger(Runnable.class);
rList.add(r4);
rules.setRules(rList);
String xml = xstream.toXML(rules);
System.out.println(xml);
}
}