// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: BooleanValue.java package com.icl.saxon.expr; import java.io.PrintStream; // Referenced classes of package com.icl.saxon.expr: // Value, XPathException, Expression public final class BooleanValue extends Value { private boolean value; public BooleanValue(boolean flag) { /* 18*/ value = flag; } public String asString() { /* 27*/ return value ? "true" : "false"; } public double asNumber() { /* 36*/ return value ? 1.0D : 0.0D; } public boolean asBoolean() { /* 45*/ return value; } public int getDataType() { /* 55*/ return 1; } public int conversionPreference(Class class1) { /* 65*/ if(class1 == (java.lang.Object.class)) /* 65*/ return 50; /* 66*/ if(class1.isAssignableFrom(com.icl.saxon.expr.BooleanValue.class)) /* 66*/ return 0; /* 68*/ if(class1 == Boolean.TYPE) /* 68*/ return 0; /* 69*/ if(class1 == (java.lang.Boolean.class)) /* 69*/ return 0; /* 70*/ if(class1 == Byte.TYPE) /* 70*/ return 3; /* 71*/ if(class1 == (java.lang.Byte.class)) /* 71*/ return 4; /* 72*/ if(class1 == Character.TYPE) /* 72*/ return 0x7fffffff; /* 73*/ if(class1 == (java.lang.Character.class)) /* 73*/ return 0x7fffffff; /* 74*/ if(class1 == Double.TYPE) /* 74*/ return 3; /* 75*/ if(class1 == (java.lang.Double.class)) /* 75*/ return 4; /* 76*/ if(class1 == Float.TYPE) /* 76*/ return 3; /* 77*/ if(class1 == (java.lang.Float.class)) /* 77*/ return 4; /* 78*/ if(class1 == Integer.TYPE) /* 78*/ return 3; /* 79*/ if(class1 == (java.lang.Integer.class)) /* 79*/ return 4; /* 80*/ if(class1 == Long.TYPE) /* 80*/ return 3; /* 81*/ if(class1 == (java.lang.Long.class)) /* 81*/ return 4; /* 82*/ if(class1 == Short.TYPE) /* 82*/ return 3; /* 83*/ if(class1 == (java.lang.Short.class)) /* 83*/ return 4; /* 84*/ return class1 != (java.lang.String.class) ? 0x7fffffff : 2; } public Object convertToJava(Class class1) throws XPathException { /* 94*/ if(class1 == (java.lang.Object.class)) /* 95*/ return new Boolean(value); /* 96*/ if(class1.isAssignableFrom(com.icl.saxon.expr.BooleanValue.class)) /* 97*/ return this; /* 98*/ if(class1 == Boolean.TYPE) /* 99*/ return new Boolean(value); /* 100*/ if(class1 == (java.lang.Boolean.class)) /* 101*/ return new Boolean(value); /* 102*/ if(class1 == (java.lang.Object.class)) /* 103*/ return new Boolean(value); /* 104*/ if(class1 == (java.lang.String.class)) /* 105*/ return asString(); /* 106*/ if(class1 == Double.TYPE) /* 107*/ return new Double(asNumber()); /* 108*/ if(class1 == (java.lang.Double.class)) /* 109*/ return new Double(asNumber()); /* 110*/ if(class1 == Float.TYPE) /* 111*/ return new Float(asNumber()); /* 112*/ if(class1 == (java.lang.Float.class)) /* 113*/ return new Float(asNumber()); /* 114*/ if(class1 == Long.TYPE) /* 115*/ return new Long(value ? 1L : 0L); /* 116*/ if(class1 == (java.lang.Long.class)) /* 117*/ return new Long(value ? 1L : 0L); /* 118*/ if(class1 == Integer.TYPE) /* 119*/ return new Integer(value ? 1 : 0); /* 120*/ if(class1 == (java.lang.Integer.class)) /* 121*/ return new Integer(value ? 1 : 0); /* 122*/ if(class1 == Short.TYPE) /* 123*/ return new Short(value ? 1 : 0); /* 124*/ if(class1 == (java.lang.Short.class)) /* 125*/ return new Short(value ? 1 : 0); /* 126*/ if(class1 == Byte.TYPE) /* 127*/ return new Byte(((byte)(value ? 1 : 0))); /* 128*/ if(class1 == (java.lang.Byte.class)) /* 129*/ return new Byte(((byte)(value ? 1 : 0))); /* 131*/ else /* 131*/ throw new XPathException("Conversion of boolean to " + class1.getName() + " is not supported"); } public void display(int i) { /* 141*/ System.err.println(Expression.indent(i) + "boolean (" + asString() + ")"); } }