package org.sakaiproject.content.tool; import org.sakaiproject.util.ResourceLoader; import java.util.ArrayList; /** * * class encapsulates information about groups of metadata tags (such as DC, LOM, etc.) * */ public class MetadataGroup extends ArrayList { /** * */ private static final long serialVersionUID = -821054142728929236L; protected boolean m_isShowing; protected String m_name; protected ResourceLoader metaMsg = new ResourceLoader("types"); protected ResourceLoader rb = new ResourceLoader("content"); /** * @param name */ public MetadataGroup(String name) { super(); m_name = name; m_isShowing = false; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) * needed to determine List.contains() */ public boolean equals(Object obj) { if (obj instanceof MetadataGroup) { MetadataGroup mg = (MetadataGroup) obj; boolean rv = (obj != null) && (m_name.equals(mg.getName())); return rv; } return false; } /** * @return */ public String getName(){ String name = rb.getString(m_name); if (name.indexOf("missing_key")!=-1) return m_name; else return name; } /** * @return */ public boolean isShowing() { return m_isShowing; } /** * @param name */ public void setName(String name) { m_name = name; } /** * @param isShowing */ public void setShowing(boolean isShowing) { m_isShowing = isShowing; } public String getShowLabel() { return metaMsg.getFormattedMessage("metadata.show", new String[]{this.getName()}); } public String getHideLabel() { return metaMsg.getFormattedMessage("metadata.hide", new String[]{this.getName()}); } }