Clazz.declarePackage ("JS");
Clazz.load (["JU.Lst", "$.BS"], "JS.SmilesRingSet", null, function () {
c$ = Clazz.decorateAsClass (function () {
this.bs = null;
Clazz.instantialize (this, arguments);
}, JS, "SmilesRingSet", JU.Lst);
Clazz.prepareFields (c$, function () {
this.bs =  new JU.BS ();
});
Clazz.makeConstructor (c$, 
function () {
Clazz.superConstructor (this, JS.SmilesRingSet, []);
});
Clazz.defineMethod (c$, "addSet", 
function (set, htEdgeMap) {
for (var i = set.size (); --i >= 0; ) {
var r = set.get (i);
this.addRing (r);
r.addEdges (htEdgeMap);
}
}, "JS.SmilesRingSet,java.util.Hashtable");
Clazz.defineMethod (c$, "addRing", 
function (ring) {
this.addLast (ring);
ring.$set = this;
this.bs.or (ring);
}, "JS.SmilesRing");
Clazz.defineMethod (c$, "getElectronCount", 
function (eCounts) {
var eCount = 0;
for (var j = this.bs.nextSetBit (0); j >= 0; j = this.bs.nextSetBit (j + 1)) eCount += eCounts[j];

return eCount;
}, "~A");
});
