001    package railo.transformer.bytecode.statement.tag;
002    
003    import railo.transformer.bytecode.Position;
004    
005    public abstract class TagGroup extends TagBase {
006    
007            public static final short TAG_LOOP=1;
008            public static final short TAG_OUTPUT=2;
009    
010             private int numberIterator=-1;
011             private int query=-1;
012             private int group=-1;
013             private int pid;
014            
015            public TagGroup(Position start, Position end) {
016                    super(start, end);
017                    // TODO Auto-generated constructor stub
018            }
019    
020            public abstract short getType();
021    
022            //public abstract boolean hasQuery();
023    
024            //public abstract boolean hasGroup();
025            
026    
027            public final int getNumberIterator()    {
028                    return numberIterator;
029            }
030            
031            public final void setNumberIterator(int numberIterator) {
032                    this.numberIterator= numberIterator;
033            }
034            
035            public final boolean hasNumberIterator()        {
036                    return numberIterator!=-1;
037            }
038    
039    
040            /**
041             * returns if output has query
042             * @return has query
043             */
044            public final boolean hasQuery() {
045                    return getAttribute("query")!=null;
046            }
047    
048            /**
049             * returns if output has query
050             * @return has query
051             */
052            public final boolean hasGroup() {
053                    return getAttribute("group")!=null;
054            }
055            
056            public final int getQuery()     {
057                    return query;
058            }
059            
060            public final void setQuery(int query)   {
061                    this.query= query;
062            }
063            
064            public final int getGroup()     {
065                    return group;
066            }
067            
068            public final void setGroup(int group)   {
069                    this.group= group;
070            }
071            
072            public final int getPID()       {
073                    return pid;
074            }
075            
076            public final void setPID(int pid)       {
077                    this.pid= pid;
078            }
079    }