001package ca.uhn.hl7v2.model;
002
003import java.util.List;
004import java.util.Set;
005
006/**
007 * Represents a {@link Message} or {@link Group} which contains child elements 
008 * for more than one structure type. Super structures are used for convenience since
009 * they allow you to use the same code to handle multiple message types.  
010 */
011public interface SuperStructure extends Group {
012
013        Set<String> getStructuresWhichChildAppliesTo(String theChildName);
014
015        List<String> getChildNamesForStructure(String theStructure);
016
017        /**
018         * Returns a set containing any non-standard element names that were added
019         * to this structure
020         */
021        Set<String> getNonStandardNames();
022        
023}