Source for gnu.inet.ldap.LDAPResult

   1: /*
   2:  * LDAPResult.java
   3:  * Copyright (C) 2004 The Free Software Foundation
   4:  * 
   5:  * This file is part of GNU inetlib, a library.
   6:  * 
   7:  * GNU inetlib is free software; you can redistribute it and/or modify
   8:  * it under the terms of the GNU General Public License as published by
   9:  * the Free Software Foundation; either version 2 of the License, or
  10:  * (at your option) any later version.
  11:  * 
  12:  * GNU inetlib is distributed in the hope that it will be useful,
  13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15:  * GNU General Public License for more details.
  16:  * 
  17:  * You should have received a copy of the GNU General Public License
  18:  * along with this library; if not, write to the Free Software
  19:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  20:  * 
  21:  * Linking this library statically or dynamically with other modules is
  22:  * making a combined work based on this library.  Thus, the terms and
  23:  * conditions of the GNU General Public License cover the whole
  24:  * combination.
  25:  *
  26:  * As a special exception, the copyright holders of this library give you
  27:  * permission to link this library with independent modules to produce an
  28:  * executable, regardless of the license terms of these independent
  29:  * modules, and to copy and distribute the resulting executable under
  30:  * terms of your choice, provided that you also meet, for each linked
  31:  * independent module, the terms and conditions of the license of that
  32:  * module.  An independent module is a module which is not derived from
  33:  * or based on this library.  If you modify this library, you may extend
  34:  * this exception to your version of the library, but you are not
  35:  * obliged to do so.  If you do not wish to do so, delete this
  36:  * exception statement from your version.
  37:  */
  38: 
  39: package gnu.inet.ldap;
  40: 
  41: /**
  42:  * An LDAP result structure.
  43:  *
  44:  * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
  45:  */
  46: public class LDAPResult
  47: {
  48: 
  49:   public static final int SUCCESS = 0;
  50:   public static final int OPERATIONS_ERROR = 1;
  51:   public static final int PROTOCOL_ERROR = 2;
  52:   public static final int TIME_LIMIT_EXCEEDED = 3;
  53:   public static final int SIZE_LIMIT_EXCEEDED = 4;
  54:   public static final int COMPARE_FALSE = 5;
  55:   public static final int COMPARE_TRUE = 6;
  56:   public static final int AUTH_METHOD_NOT_SUPPORTED = 7;
  57:   public static final int STRONG_AUTH_REQUIRED = 8;
  58:   public static final int REFERRAL = 10;
  59:   public static final int ADMIN_LIMIT_EXCEEDED = 11;
  60:   public static final int UNAVAILABLE_CRITICAL_EXTENSION = 12;
  61:   public static final int CONFIDENTIALITY_REQUIRED = 13;
  62:   public static final int SASL_BIND_IN_PROGRESS = 14;
  63:   public static final int NO_SUCH_ATTRIBUTE = 16;
  64:   public static final int UNDEFINED_ATTRIBUTE_TYPE = 17;
  65:   public static final int INAPPROPRIATE_MATCHING = 18;
  66:   public static final int CONSTRAINT_VIOLATION = 19;
  67:   public static final int ATTRIBUTE_OR_VALUE_EXISTS = 20;
  68:   public static final int INVALID_ATTRIBUTE_SYNTAX = 21;
  69:   public static final int NO_SUCH_OBJECT = 32;
  70:   public static final int ALIAS_PROBLEM = 33;
  71:   public static final int INVALID_DN_SYNTAX = 34;
  72:   public static final int ALIAS_DEREFERENCING_PROBLEM = 36;
  73:   public static final int INAPPROPRIATE_AUTHENTICATION = 48;
  74:   public static final int INVALID_CREDENTIALS = 49;
  75:   public static final int INSUFFICIENT_ACCESS_RIGHTS = 50;
  76:   public static final int BUSY = 51;
  77:   public static final int UNAVAILABLE = 52;
  78:   public static final int UNWILLING_TO_PERFORM = 53;
  79:   public static final int LOOP_DETECT = 54;
  80:   public static final int NAMING_VIOLATION = 64;
  81:   public static final int OBJECT_CLASS_VIOLATION = 65;
  82:   public static final int NOT_ALLOWED_ON_NON_LEAF = 66;
  83:   public static final int NOT_ALLOWED_ON_RDN = 67;
  84:   public static final int ENTRY_ALREADY_EXISTS = 68;
  85:   public static final int OBJECT_CLASS_MODS_PROHIBITED = 69;
  86:   public static final int AFFECTS_MULTIPLE_DSAS = 71;
  87:   public static final int OTHER = 80;
  88: 
  89:   /**
  90:    * The result code associated with this result.
  91:    */
  92:   public final int status;
  93: 
  94:   /**
  95:    * The name of the matching entry.
  96:    */
  97:   public final String matchedDN;
  98: 
  99:   /**
 100:    * An associated error message.
 101:    */
 102:   public final String errorMessage;
 103: 
 104:   /**
 105:    * A list of LDAP URLs to refer to if the status is REFERRAL.
 106:    */
 107:   public final String[] referrals;
 108: 
 109:   protected LDAPResult(int status, String matchedDN, String errorMessage,
 110:                        String[] referrals)
 111:   {
 112:     this.status = status;
 113:     this.matchedDN = matchedDN;
 114:     this.errorMessage = errorMessage;
 115:     this.referrals = referrals;
 116:   }
 117: 
 118:   /**
 119:    * Debugging.
 120:    */
 121:   public String toString()
 122:   {
 123:     StringBuffer buffer = new StringBuffer(getClass().getName());
 124:     buffer.append('[');
 125:     buffer.append("status=");
 126:     buffer.append(status);
 127:     buffer.append(",matchedDN=");
 128:     buffer.append(matchedDN);
 129:     if (errorMessage != null)
 130:       {
 131:         buffer.append(",errorMessage=");
 132:         buffer.append(errorMessage);
 133:       }
 134:     if (referrals != null)
 135:       {
 136:         buffer.append(",referrals=");
 137:         buffer.append(referrals.toString());
 138:       }
 139:     buffer.append(']');
 140:     return buffer.toString();
 141:   }
 142:   
 143: }