public FrameDescriptor copy() { FrameDescriptor clonedFrameDescriptor = new FrameDescriptor(this.defaultValue); for (int i = 0; i < this.getSlots().size(); i++) { Object identifier = this.getSlots().get(i).getIdentifier(); clonedFrameDescriptor.addFrameSlot(identifier); } return clonedFrameDescriptor; }
private static void clearFrame(MaterializedFrame frame) { FrameDescriptor descriptor = frame.getFrameDescriptor(); Object value = descriptor.getDefaultValue(); for (FrameSlot slot : descriptor.getSlots()) { frame.setObject(slot, value); } }
private static void clearFrame(RootNode root, MaterializedFrame frame) { FrameDescriptor descriptor = frame.getFrameDescriptor(); if (root.getFrameDescriptor() == descriptor) { // Clear only those frames that correspond to the current root Object value = descriptor.getDefaultValue(); for (FrameSlot slot : descriptor.getSlots()) { frame.setObject(slot, value); } } }