// 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: SubstringAfter.java package com.icl.saxon.functions; import com.icl.saxon.Context; import com.icl.saxon.expr.*; public class SubstringAfter extends Function { public SubstringAfter() { } public String getName() { /* 12*/ return "substring-after"; } public int getDataType() { /* 21*/ return 3; } public Expression simplify() throws XPathException { /* 29*/ int i = checkArgumentCount(2, 2); /* 30*/ super.argument[0] = super.argument[0].simplify(); /* 31*/ super.argument[1] = super.argument[1].simplify(); /* 32*/ boolean flag = (super.argument[0] instanceof Value) && (super.argument[1] instanceof Value); /* 34*/ if(flag) /* 35*/ return evaluate(null); /* 37*/ else /* 37*/ return this; } public String evaluateAsString(Context context) throws XPathException { /* 46*/ String s = super.argument[0].evaluateAsString(context); /* 47*/ String s1 = super.argument[1].evaluateAsString(context); /* 48*/ return after(s, s1); } public Value evaluate(Context context) throws XPathException { /* 56*/ return new StringValue(evaluateAsString(context)); } public int getDependencies() { /* 65*/ int i = super.argument[0].getDependencies() | super.argument[1].getDependencies(); /* 66*/ return i; } public Expression reduce(int i, Context context) throws XPathException { /* 74*/ SubstringAfter substringafter = new SubstringAfter(); /* 75*/ substringafter.addArgument(super.argument[0].reduce(i, context)); /* 76*/ substringafter.addArgument(super.argument[1].reduce(i, context)); /* 77*/ substringafter.setStaticContext(getStaticContext()); /* 78*/ return substringafter.simplify(); } private static String after(String s, String s1) { /* 87*/ int i = s.indexOf(s1); /* 88*/ if(i < 0) /* 88*/ return ""; /* 89*/ else /* 89*/ return s.substring(i + s1.length()); } }