Information

0
Story Points

Technologies

Decompiled Java File
package org.exolab.castor.xml.descriptors;

import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Vector;
import org.exolab.castor.xml.XMLClassDescriptor;
import org.exolab.castor.xml.descriptors.DateClassDescriptor;
import org.exolab.castor.xml.descriptors.EnumerationDescriptor;
import org.exolab.castor.xml.descriptors.LocaleDescriptor;
import org.exolab.castor.xml.descriptors.SQLDateClassDescriptor;
import org.exolab.castor.xml.descriptors.SQLTimeClassDescriptor;
import org.exolab.castor.xml.descriptors.SQLTimestampClassDescriptor;
import org.exolab.castor.xml.descriptors.StringClassDescriptor;
import org.exolab.castor.xml.descriptors.VectorClassDescriptor;

public final class CoreDescriptors {
   private static final String LIST_CLASS_NAME = "java.util.List";
   private static final String LIST_DESCRIPTOR_NAME = "org.exolab.castor.xml.descriptors.ListClassDescriptor";
   private static final Class LIST_CLASS = getListClass();
   private static final XMLClassDescriptor DATE_DESCRIPTOR = new DateClassDescriptor();
   private static final XMLClassDescriptor ENUMERATION_DESCRIPTOR = new EnumerationDescriptor();
   private static final XMLClassDescriptor LIST_DESCRIPTOR = getListClassDescriptor();
   private static final XMLClassDescriptor LOCALE_DESCRIPTOR = new LocaleDescriptor();
   private static final XMLClassDescriptor SQL_DATE_DESCRIPTOR = new SQLDateClassDescriptor();
   private static final XMLClassDescriptor SQL_TIME_DESCRIPTOR = new SQLTimeClassDescriptor();
   private static final XMLClassDescriptor SQL_TIMESTAMP_DESCRIPTOR = new SQLTimestampClassDescriptor();
   private static final XMLClassDescriptor STRING_DESCRIPTOR = new StringClassDescriptor();
   private static final XMLClassDescriptor VECTOR_DESCRIPTOR = new VectorClassDescriptor();

   public static XMLClassDescriptor getDescriptor(Class clazz) {
      return clazz == null?null:(clazz == String.class?STRING_DESCRIPTOR:(clazz == Date.class?DATE_DESCRIPTOR:(Enumeration.class.isAssignableFrom(clazz)?ENUMERATION_DESCRIPTOR:(clazz != Vector.class && !Vector.class.isAssignableFrom(clazz)?(LIST_DESCRIPTOR != null && (LIST_CLASS == clazz || LIST_CLASS.isAssignableFrom(clazz))?LIST_DESCRIPTOR:(clazz == Locale.class?LOCALE_DESCRIPTOR:(clazz == java.sql.Date.class?SQL_DATE_DESCRIPTOR:(clazz == Time.class?SQL_TIME_DESCRIPTOR:(clazz == Timestamp.class?SQL_TIMESTAMP_DESCRIPTOR:null))))):VECTOR_DESCRIPTOR))));
   }

   private static XMLClassDescriptor getListClassDescriptor() {
      if(LIST_CLASS == null) {
         return null;
      } else {
         ClassLoader loader = CoreDescriptors.class.getClassLoader();
         Class descriptorClass = null;

         try {
            if(loader == null) {
               descriptorClass = Class.forName("org.exolab.castor.xml.descriptors.ListClassDescriptor");
            } else {
               descriptorClass = loader.loadClass("org.exolab.castor.xml.descriptors.ListClassDescriptor");
            }
         } catch (ClassNotFoundException var6) {
            ;
         }

         XMLClassDescriptor listDescriptor = null;
         if(descriptorClass != null) {
            try {
               listDescriptor = (XMLClassDescriptor)descriptorClass.newInstance();
            } catch (InstantiationException var4) {
               ;
            } catch (IllegalAccessException var5) {
               ;
            }
         } else {
            listDescriptor = null;
         }

         return listDescriptor;
      }
   }

   private static Class getListClass() {
      Class listClass = null;
      ClassLoader loader = null;

      try {
         loader = Vector.class.getClassLoader();
         if(loader == null) {
            listClass = Class.forName("java.util.List");
         } else {
            listClass = loader.loadClass("java.util.List");
         }
      } catch (ClassNotFoundException var3) {
         ;
      }

      return listClass;
   }
}
Page generated: Oct 19, 2017 2:34:47 PM