예제 #1
0
        /// <summary>
        /// Creates a new ResultSequence consisting of the extractable gYearMonth in
        /// the supplied ResultSequence
        /// </summary>
        /// <param name="arg">
        ///            The ResultSequence from which the gYearMonth is to be
        ///            extracted </param>
        /// <returns> New ResultSequence consisting of the supplied year and month </returns>
        /// <exception cref="DynamicError"> </exception>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public org.eclipse.wst.xml.xpath2.api.ResultSequence constructor(org.eclipse.wst.xml.xpath2.api.ResultSequence arg) throws org.eclipse.wst.xml.xpath2.processor.DynamicError
        public override ResultSequence constructor(ResultSequence arg)
        {
            if (arg.empty())
            {
                return(ResultBuffer.EMPTY);
            }

            AnyAtomicType aat = (AnyAtomicType)arg.first();

            if (aat is NumericType || aat is XSDuration || aat is XSTime || isGDataType(aat) || aat is XSBoolean || aat is XSBase64Binary || aat is XSHexBinary || aat is XSAnyURI)
            {
                throw DynamicError.invalidType();
            }

            if (!isCastable(aat))
            {
                throw DynamicError.cant_cast(null);
            }

            XSGYearMonth val = castGYearMonth(aat);

            if (val == null)
            {
                throw DynamicError.cant_cast(null);
            }

            return(val);
        }
예제 #2
0
        /// <summary>
        /// Equality comparison between this and the supplied representation. This
        /// representation must be of type XSGYearMonth
        /// </summary>
        /// <param name="arg">
        ///            The XSGYearMonth to compare with </param>
        /// <returns> True if the two representations are of the same year and month.
        ///         False otherwise </returns>
        /// <exception cref="DynamicError"> </exception>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public boolean eq(AnyType arg, org.eclipse.wst.xml.xpath2.api.DynamicContext dynamicContext) throws org.eclipse.wst.xml.xpath2.processor.DynamicError
        public virtual bool eq(AnyType arg, DynamicContext dynamicContext)
        {
            XSGYearMonth val     = (XSGYearMonth)NumericType.get_single_type(arg, typeof(XSGYearMonth));
            Calendar     thiscal = normalizeCalendar(calendar(), tz());
            Calendar     thatcal = normalizeCalendar(val.calendar(), val.tz());

            return(thiscal.Equals(thatcal));
        }
예제 #3
0
        private XSGYearMonth castGYearMonth(AnyAtomicType aat)
        {
            if (aat is XSGYearMonth)
            {
                XSGYearMonth gym = (XSGYearMonth)aat;
                return(new XSGYearMonth(gym.calendar(), gym.tz()));
            }

            if (aat is XSDate)
            {
                XSDate date = (XSDate)aat;
                return(new XSGYearMonth(date.calendar(), date.tz()));
            }

            if (aat is XSDateTime)
            {
                XSDateTime dateTime = (XSDateTime)aat;
                return(new XSGYearMonth(dateTime.calendar(), dateTime.tz()));
            }

            return(parse_gYearMonth(aat.StringValue));
        }