View Javadoc

    1   /***
    2    * JFoxSOAF, Service-Oriented Application Framework
    3    *
    4    * Copyright (C) www.huihoo.org
    5    *
    6    * Distributable under GNU LGPL For more information, please visit:
    7    * http://www.huihoo.org/jfox/jfoxsoaf
    8    */
    9
    10  package org.huihoo.jfox.soaf.schema.config;
    11
    12  import java.util.Vector;
    13
    14  import org.exolab.castor.xml.Marshaller;
    15  import org.exolab.castor.xml.Unmarshaller;
    16
    17  /***
    18   * Class SystemInterceptor.
    19   *
    20   * @version $Revision: 1.1 $ $Date: 2004/10/13 10:52:06 $
    21   */
    22  public class SystemInterceptor implements java.io.Serializable {
    23
    24      /***
    25       * Field _interceptorList
    26       */
    27      private java.util.Vector _interceptorList;
    28
    29      public SystemInterceptor() {
    30          super();
    31          _interceptorList = new Vector();
    32      }
    33
    34      /***
    35       * Method addInterceptor
    36       *
    37       * @param vInterceptor
    38       */
    39      public void addInterceptor(
    40              org.huihoo.jfox.soaf.schema.config.Interceptor vInterceptor)
    41              throws java.lang.IndexOutOfBoundsException {
    42          _interceptorList.addElement(vInterceptor);
    43      }
    44
    45      /***
    46       * Method addInterceptor
    47       *
    48       * @param index
    49       * @param vInterceptor
    50       */
    51      public void addInterceptor(int index,
    52              org.huihoo.jfox.soaf.schema.config.Interceptor vInterceptor)
    53              throws java.lang.IndexOutOfBoundsException {
    54          _interceptorList.insertElementAt(vInterceptor, index);
    55      }
    56
    57      /***
    58       * Method enumerateInterceptor
    59       */
    60      public java.util.Enumeration enumerateInterceptor() {
    61          return _interceptorList.elements();
    62      }
    63
    64      /***
    65       * Method getInterceptor
    66       *
    67       * @param index
    68       */
    69      public org.huihoo.jfox.soaf.schema.config.Interceptor getInterceptor(
    70              int index) throws java.lang.IndexOutOfBoundsException {
    71          //-- check bounds for index
    72          if ((index < 0) || (index > _interceptorList.size())) {
    73              throw new IndexOutOfBoundsException();
    74          }
    75
    76          return (org.huihoo.jfox.soaf.schema.config.Interceptor) _interceptorList
    77                  .elementAt(index);
    78      }
    79
    80      /***
    81       * Method getInterceptor
    82       */
    83      public org.huihoo.jfox.soaf.schema.config.Interceptor[] getInterceptor() {
    84          int size = _interceptorList.size();
    85          org.huihoo.jfox.soaf.schema.config.Interceptor[] mArray = new org.huihoo.jfox.soaf.schema.config.Interceptor[size];
    86          for (int index = 0; index < size; index++) {
    87              mArray[index] = (org.huihoo.jfox.soaf.schema.config.Interceptor) _interceptorList
    88                      .elementAt(index);
    89          }
    90          return mArray;
    91      }
    92
    93      /***
    94       * Method getInterceptorCount
    95       */
    96      public int getInterceptorCount() {
    97          return _interceptorList.size();
    98      }
    99
    100     /***
    101      * Method isValid
    102      */
    103     public boolean isValid() {
    104         try {
    105             validate();
    106         } catch (org.exolab.castor.xml.ValidationException vex) {
    107             return false;
    108         }
    109         return true;
    110     }
    111
    112     /***
    113      * Method marshal
    114      *
    115      * @param out
    116      */
    117     public void marshal(java.io.Writer out)
    118             throws org.exolab.castor.xml.MarshalException,
    119             org.exolab.castor.xml.ValidationException {
    120
    121         Marshaller.marshal(this, out);
    122     }
    123
    124     /***
    125      * Method marshal
    126      *
    127      * @param handler
    128      */
    129     public void marshal(org.xml.sax.ContentHandler handler)
    130             throws java.io.IOException, org.exolab.castor.xml.MarshalException,
    131             org.exolab.castor.xml.ValidationException {
    132
    133         Marshaller.marshal(this, handler);
    134     }
    135
    136     /***
    137      * Method removeAllInterceptor
    138      */
    139     public void removeAllInterceptor() {
    140         _interceptorList.removeAllElements();
    141     }
    142
    143     /***
    144      * Method removeInterceptor
    145      *
    146      * @param index
    147      */
    148     public org.huihoo.jfox.soaf.schema.config.Interceptor removeInterceptor(
    149             int index) {
    150         java.lang.Object obj = _interceptorList.elementAt(index);
    151         _interceptorList.removeElementAt(index);
    152         return (org.huihoo.jfox.soaf.schema.config.Interceptor) obj;
    153     }
    154
    155     /***
    156      * Method setInterceptor
    157      *
    158      * @param index
    159      * @param vInterceptor
    160      */
    161     public void setInterceptor(int index,
    162             org.huihoo.jfox.soaf.schema.config.Interceptor vInterceptor)
    163             throws java.lang.IndexOutOfBoundsException {
    164         //-- check bounds for index
    165         if ((index < 0) || (index > _interceptorList.size())) {
    166             throw new IndexOutOfBoundsException();
    167         }
    168         _interceptorList.setElementAt(vInterceptor, index);
    169     }
    170
    171     /***
    172      * Method setInterceptor
    173      *
    174      * @param interceptorArray
    175      */
    176     public void setInterceptor(
    177             org.huihoo.jfox.soaf.schema.config.Interceptor[] interceptorArray) {
    178         //-- copy array
    179         _interceptorList.removeAllElements();
    180         for (int i = 0; i < interceptorArray.length; i++) {
    181             _interceptorList.addElement(interceptorArray[i]);
    182         }
    183     }
    184
    185     /***
    186      * Method unmarshal
    187      *
    188      * @param reader
    189      */
    190     public static org.huihoo.jfox.soaf.schema.config.SystemInterceptor unmarshal(
    191             java.io.Reader reader)
    192             throws org.exolab.castor.xml.MarshalException,
    193             org.exolab.castor.xml.ValidationException {
    194         return (org.huihoo.jfox.soaf.schema.config.SystemInterceptor) Unmarshaller
    195                 .unmarshal(
    196                         org.huihoo.jfox.soaf.schema.config.SystemInterceptor.class,
    197                         reader);
    198     }
    199
    200     /***
    201      * Method validate
    202      */
    203     public void validate() throws org.exolab.castor.xml.ValidationException {
    204         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
    205         validator.validate(this);
    206     }
    207
    208 }