/** Parses metadata from the given {@code Sequence} element. */ public void parse(final Element sequenceElement) { checkElement(sequenceElement, "Sequence"); // parse <PVStateShard> key/value block parsePVStateShard(sequenceElement, sequenceValues); type = attr(sequenceElement, "type"); cycle = i(attr(sequenceElement, "cycle")); if (cycle == null) { throw new IllegalArgumentException("Sequence missing cycle attribute"); } spectralMode = b(attr(sequenceElement, "SpectralMode")); // iterate over all Frame elements final NodeList frameNodes = sequenceElement.getElementsByTagName("Frame"); for (int f = 0; f < frameNodes.getLength(); f++) { final Element frameElement = el(frameNodes, f); if (frameElement == null) continue; final Frame frame = new Frame(this, frameElement); if (firstFrame == null) firstFrame = frame; final int index = frame.getIndex(); if (index < indexMin) indexMin = index; if (index > indexMax) indexMax = index; frames.put(index, frame); } }
/** Parses metadata from the given {@code Sequence} element. */ public void parse(final Element sequenceElement) { checkElement(sequenceElement, "Sequence"); // parse <PVStateShard> key/value block parsePVStateShard(sequenceElement, sequenceValues); type = attr(sequenceElement, "type"); cycle = i(attr(sequenceElement, "cycle")); if (cycle == null) { throw new IllegalArgumentException("Sequence missing cycle attribute"); } spectralMode = b(attr(sequenceElement, "SpectralMode")); // iterate over all Frame elements final NodeList frameNodes = sequenceElement.getElementsByTagName("Frame"); for (int f = 0; f < frameNodes.getLength(); f++) { final Element frameElement = el(frameNodes, f); if (frameElement == null) continue; final Frame frame = new Frame(this, frameElement); if (firstFrame == null) firstFrame = frame; final int index = frame.getIndex(); if (index < indexMin) indexMin = index; if (index > indexMax) indexMax = index; frames.put(index, frame); } }