package citySlikkerV1.parsers;

public abstract class BaseClass
{
        protected String[] mElements;
        protected boolean[] mElementsState;

        protected abstract void assignElementState( int ID, boolean state );
        protected abstract int getElementCount();
        protected abstract void setValues(int ID, String data);
}


public class KeyData extends BaseClass{


           //Key Owner List
        public KeyData()
        {
                super( );
                mElements = new String[]
                {


                };

                mElementsState = new boolean[]
                {


                };
        }

        @Override
        protected void assignElementState(int ID, boolean state)
        {
                // TODO Auto-generated method stub
                if(state && ID == 0)
                {
                }



                mElementsState[ID] = state;
        }



        @Override
        protected  int getElementCount()
        {
                return this.mElements.length;
        }

        @Override
        protected void setValues(int ID, String data)
        {
                // TODO Auto-generated method stub
                switch( ID )
                {
                                        case 0://BUILDINFO
                                                break;
                                        case 1://BUILDID
                                                 BUILDID=Integer.valueOf(data);
                                                Log.e("switch",""+BUILDID);
                                                break;
                                        case 2://BUILDNAME
                                         BUILDNAME=data;
                                        Log.e("switch",""+BUILDNAME);
                                         break;
                                        case 3://REVNUE
                                                REVNUE=Float.valueOf(data);
                                                break;
                                        case 4://STATE
                                                STATE=Integer.valueOf(data);
                                                break;

                                        //key owner infomartion
                                        case 5://UserId
                                                UserId=Integer.valueOf(data);
                                                break;
                                        case 6://UserName
                                                UserName=data;
                                         break;
                                        case 7://RCode
                                                UserRCode=Integer.valueOf(data);
                                                break;
                                        case 8://UserStatus
                                                
UserStatus=Integer.valueOf(data);
                                                break;




                                        default:
                                                        break;
                }
        }
public class CommonHandler extends DefaultHandler
{
        // ========================================
    // Methods
    // ========================================

        boolean CCODE = false;
        boolean SCCODE = false;
        boolean EVENTS = false;
        int ccode = 0;
        int sccode = 0;
        int Elementlength  =0;
        BaseClass temp = null;
        BaseClass event=null;


        public Activity activity;


    public void startDocument() throws SAXException
    {

    }


    public void endDocument() throws SAXException
    {
        temp = null;
    }

    /** Gets be called on opening tags like:
     * <tag>
     * Can provide attribute(s), when xml was like:
     * <tag attribute="attributeValue">*/

    public void startElement(String namespaceURI, String localName,
              String qName, Attributes atts) throws SAXException
    {

        if(localName.equals("CC"))
        {

                CCODE = true;
        }

        if( localName.equals("SC"))
        {
                SCCODE = true;
        }

        if( localName.equals("EVS"))
        {
                EVENTS=true;
        }

        if( event != null )
        {
                        for( int i = 0; i < Elementlength; i++ )
                        {
                                if(localName.equals(event.mElements[i]))
                                {
                                        event.assignElementState(i, true);
                                }
                        }
        }

           if( temp != null )
           {
                        for( int i = 0; i < Elementlength; i++ )
                                {
                                        if(localName.equals(temp.mElements[i]))
                                        {
                                                temp.assignElementState(i, 
true);
                                        }
                                }
                }
    }

    /** Gets be called on closing tags like:
     * </tag> */

    public void endElement(String namespaceURI, String localName,
String qName)
              throws SAXException
    {
        if(localName.equals("CC"))
        {
                CCODE = false;
        }

        if( localName.equals("SC"))
        {
                SCCODE = false;
        }

        if( localName.equals("EVS"))
        {
                EVENTS = false;
                event = null;
        }


                if( event != null )
                {
                                for( int i = 0; i < Elementlength; i++ )
                                {
                                        if(localName.equals(event.mElements[i]) 
)
                                        {
                                                event.assignElementState(i, 
false);
                                        }
                                }
                }

           if( temp != null )
           {
                        for( int i = 0; i < Elementlength; i++ )
                                {
                                        if(localName.equals(temp.mElements[i]))
                                        {

                                                temp.assignElementState(i, 
false);
                                        }
                                }
           }
    }

    /** Gets be called on the following structure:
     * <tag>characters</tag> */

   public void characters(char ch[], int start, int length)
   {
       if(this.CCODE)
       {
           String tmptxt=new String(ch, start, length);
           ccode=Integer.valueOf(tmptxt);
         }

           if(this.SCCODE)
           {
               String tmptxt=new String(ch, start, length);
               sccode=Integer.valueOf(tmptxt);
               this.resolveCmdCode();
           }

          if(this.EVENTS)
          {
                  if( event == null)
                  {
                          temp=null;
                          event=new EventData();
                          Elementlength = event.getElementCount();
                  }

          }

           if( temp != null )
           {
                        for( int i = 0; i < Elementlength; i++ )
                        {
                                if( temp.mElementsState[i] )
                                {
                                        String data=new String(ch, start, 
length);
                                        temp.setValues( i, data);
                                }
                        }
           }

        if( event != null )
                {
                        for( int i = 0; i < Elementlength; i++ )
                        {
                                if(event.mElementsState[i])
                                {
                                        String data=new String(ch, start, 
length);
                                        event.setValues( i, data);
                                }
                        }
                }
   }


   /**
    * We Can Call The Respective Class Based On ccode and Subcode
    */


   private void resolveCmdCode()
   {
           // Implement Switch Case here for the CommandCode & SubCode

           switch(ccode)
           {

                        case 1://User Info Query

                                        break;

                        case 2://Building Info Query

                                        break;

                   default:
                                        break;
           }
   }


 private void LoginData()
   {
           switch( sccode )
           {
                        case 0:
                                temp =new LoginData();
                                Elementlength = temp.getElementCount();
                                break;
                   default:
                           break;
           }
   }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to