001package ca.uhn.hl7v2.conf.spec.message;
002
003import ca.uhn.hl7v2.conf.ProfileException;
004
005/**
006 * A message profile Segment or SegGroup. 
007 * @author Bryan Tripp
008 */
009public interface ProfileStructure {
010
011    /** Getter for property name.
012     * @return Value of property name.
013     */
014    public String getName();
015    
016    /** Setter for property name.
017     * @param name New value of property name.
018     *
019     * @throws ProfileException
020     */
021    public void setName(String name) throws ProfileException;
022    
023    /** Getter for property longName.
024     * @return Value of property longName.
025     */
026    public String getLongName();
027    
028    /** Setter for property longName.
029     * @param longName New value of property longName.
030     *
031     * @throws ProfileException
032     */
033    public void setLongName(String longName) throws ProfileException;
034    
035    /** Getter for property usage.
036     * @return Value of property usage.
037     */
038    public String getUsage();
039    
040    /** Setter for property usage.
041     * @param usage New value of property usage.
042     *
043     * @throws ProfileException
044     */
045    public void setUsage(String usage) throws ProfileException;
046    
047    /** Getter for property min.
048     * @return Value of property min.
049     */
050    public short getMin();
051    
052    /** Setter for property min.
053     * @param min New value of property min.
054     *
055     * @throws ProfileException
056     */
057    public void setMin(short min) throws ProfileException;
058    
059    /** Getter for property max.
060     * @return Value of property max.
061     */
062    public short getMax();
063    
064    /** Setter for property max.
065     * @param max New value of property max.
066     *
067     * @throws ProfileException
068     */
069    public void setMax(short max) throws ProfileException;
070            
071    /** Getter for property impNote.
072     * @return Value of property impNote.
073     */
074    public String getImpNote();
075    
076    /** Setter for property impNote.
077     * @param impNote New value of property impNote.
078     *
079     * @throws ProfileException
080     */
081    public void setImpNote(String impNote) throws ProfileException;
082    
083    /** Getter for property description.
084     * @return Value of property description.
085     */
086    public String getDescription();
087    
088    /** Setter for property description.
089     * @param description New value of property description.
090     *
091     * @throws ProfileException
092     */
093    public void setDescription(String description) throws ProfileException;
094    
095    /** Getter for property reference.
096     * @return Value of property reference.
097     */
098    public String getReference();
099    
100    /** Setter for property reference.
101     * @param reference New value of property reference.
102     *
103     * @throws ProfileException
104     */
105    public void setReference(String reference) throws ProfileException;
106    
107    /** Getter for property predicate.
108     * @return Value of property predicate.
109     */
110    public String getPredicate();
111    
112    /** Setter for property predicate.
113     * @param predicate New value of property predicate.
114     *
115     * @throws ProfileException
116     */
117    public void setPredicate(String predicate) throws ProfileException;    
118        
119}