A
download SimpleList.java
Language: Java
License: GPL
Copyright: (C) 2004 Free Software Foundation, Inc.
LOC: 57
Project Info
Jessie:A Free Implementation of the JSSE(jessie)
Server: Savannah NonGNU
Type: cvs
...metastatic\jessie\provider\
   Alert.java
   AlertException.java
   BitString.java
   Certificate.java
   CertificateRequest.java
   CertificateType.java
   CertificateVerify.java
   CipherSuite.java
   ClientHello.java
   ClientKeyExchange.java
   CompressionMethod.java
   Constructed.java
   ContentType.java
   Context.java
   CSPRNG.java
   CSPRNGSpi.java
   DER.java
   DEREncodingException.java
   DERReader.java
   DERValue.java
   DERWriter.java
   DiffieHellman.java
   DigestInputStream.java
   DigestOutputStream.java
   Enumerated.java
   Extension.java
   Extensions.java
   Extensions.java.in
   Finished.java
   GNUSecurityParameters.java
   Handshake.java
   JCESecurityParameters.java
   JDBCSessionContext.java
   Jessie.java
   Jessie.java.in
   JessieDHPrivateKey.java
   JessieDHPublicKey.java
   JessieRSAPrivateKey.java
   JessieRSAPublicKey.java
   KeyPool.java
   MacException.java
   OID.java
   OverflowException.java
   ProtocolVersion.java
   Random.java
   RecordingInputStream.java
   RecordInput.java
   RecordInputStream.java
   RecordOutputStream.java
   SecurityParameters.java
   ServerHello.java
   ServerKeyExchange.java
   Session.java
   SessionContext.java
   Signature.java
   SimpleList.java
   ...rustManagerFactory.java
   SSLHMac.java
   SSLRandom.java
   SSLRSASignature.java
   SSLServerSocket.java
   ...erverSocketFactory.java
   SSLSocket.java
   SSLSocket.java.in
   SSLSocketFactory.java
   SSLSocketInputStream.java
   SSLSocketOutputStream.java
   SynchronizedRandom.java
   TLSHMac.java
   TLSRandom.java
   Util.java
   X509KeyManagerFactory.java
   ...rustManagerFactory.java
   XMLSessionContext.java

package org.metastatic.jessie.provider;

// ---------------------------------------------------------------------------
// $Id: SimpleList.java,v 1.1 2004/02/06 18:47:39 rsdio Exp $
//
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of GNU Crypto.
//
// GNU Crypto is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2, or (at your option)
// any later version.
//
// GNU Crypto is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING.  If not, write to the
//
//    Free Software Foundation Inc.,
//    59 Temple Place - Suite 330,
//    Boston, MA 02111-1307
//    USA
//
// Linking this library statically or dynamically with other modules is
// making a combined work based on this library.  Thus, the terms and
// conditions of the GNU General Public License cover the whole
// combination.
//
// As a special exception, the copyright holders of this library give
// you permission to link this library with independent modules to
// produce an executable, regardless of the license terms of these
// independent modules, and to copy and distribute the resulting
// executable under terms of your choice, provided that you also meet,
// for each linked independent module, the terms and conditions of the
// license of that module.  An independent module is a module which is
// not derived from or based on this library.  If you modify this
// library, you may extend this exception to your version of the
// library, but you are not obligated to do so.  If you do not wish to
// do so, delete this exception statement from your version.
// ---------------------------------------------------------------------------

import java.util.AbstractList;
import java.util.Collection;
import java.util.Iterator;

/**
 * A simple way to create immutable n-tuples. This class can be created with
 * up to four elements specified via one of the constructors, or with a
 * collection of arbitrary size.
 *
 * @version $Revision: 1.1 $
 */
public final class SimpleList extends AbstractList {

   // Fields.
   // ------------------------------------------------------------------------

   private final Object[] elements;

   // Constructors.
   // ------------------------------------------------------------------------

   /**
    * Create a singleton list.
    *
    * @param e1 The first element.
    */
   public SimpleList(final Object element) {
      elements = new Object[1];
      elements[0] = element;
   }

   /**
    * Create an ordered pair (2-tuple).
    *
    * @param e1 The first element.
    * @param e2 The second element.
    */
   public SimpleList(final Object e1, final Object e2) {
      elements = new Object[2];
      elements[0] = e1;
      elements[1] = e2;
   }

   /**
    * Create a 3-tuple.
    *
    * @param e1 The first element.
    * @param e2 The second element.
    * @param e3 The third element.
    */
   public SimpleList(final Object e1, final Object e2, final Object e3) {
      elements = new Object[3];
      elements[0] = e1;
      elements[1] = e2;
      elements[2] = e3;
   }

   /**
    * Create a 4-tuple.
    *
    * @param e1 The first element.
    * @param e2 The second element.
    * @param e3 The third element.
    * @param e4 The fourth element.
    */
   public SimpleList(final Object e1, final Object e2, final Object e3, final Object e4) {
      elements = new Object[4];
      elements[0] = e1;
      elements[1] = e2;
      elements[2] = e3;
      elements[3] = e4;
   }

   /**
    * Create the empty list.
    */
   public SimpleList() {
      elements = null;
   }

   /**
    * Create an n-tuple of arbitrary size. Even if the supplied collection has
    * no natural order, the created n-tuple will have the order that the
    * elements are returned by the collection's iterator.
    *
    * @param c The collection.
    */
   public SimpleList(Collection c) {
      elements = new Object[c.size()];
      int i = 0;
      for (Iterator it = c.iterator(); it.hasNext() && i < elements.length; ) {
         elements[i++] = it.next();
      }
   }

   // Instance methods.
   // ------------------------------------------------------------------------

   public int size()
   {
      if (elements == null)
         return 0;
      return elements.length;
   }

   public Object get(int index) {
      if (elements == null) {
         throw new IndexOutOfBoundsException("list is empty");
      }
      if (index < 0 || index >= elements.length) {
         throw new IndexOutOfBoundsException("index="+index+", size="+size());
      }
      return elements[index];
   }

   public String toString() {
      return SimpleList.class.getName()+"("+size()+") "+super.toString();
   }
}

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us