/* The contents of this file are subject to the license and copyright terms * detailed in the license directory at the root of the source tree (also * available online at http://fedora-commons.org/license/). */ package org.fcrepo.client; import java.util.HashMap; import java.util.Iterator; /** * @author Chris Wilper */ public class DigitalObject { protected HashMap<?, BasisDataStream> basisStreams = new HashMap<Object, BasisDataStream>(); protected HashMap<?, InlineDataStream> inlineStreams = new HashMap<Object, InlineDataStream>(); private boolean m_dirty = true; private String m_name = "Untitled"; public DigitalObject() { } public String getName() { return m_name; } public void setName(String name) { m_dirty = true; m_name = name; } public boolean isDirty() { if (m_dirty) { return true; } Iterator<BasisDataStream> b_iter = basisStreams.values().iterator(); while (b_iter.hasNext()) { BasisDataStream basis = b_iter.next(); if (basis.isDirty()) { return true; } } Iterator<InlineDataStream> i_iter = inlineStreams.values().iterator(); while (i_iter.hasNext()) { InlineDataStream inline = i_iter.next(); if (inline.isDirty()) { return true; } } return false; } public void setClean() { m_dirty = false; } public void setAllClean() { m_dirty = false; Iterator<BasisDataStream> b_iter = basisStreams.values().iterator(); while (b_iter.hasNext()) { BasisDataStream basis = b_iter.next(); basis.setClean(); } Iterator<InlineDataStream> i_iter = inlineStreams.values().iterator(); while (i_iter.hasNext()) { InlineDataStream inline = i_iter.next(); inline.setClean(); } } }