コード例 #1
0
ファイル: AttributeInfo.cs プロジェクト: cip4/JDFLibNet
        public virtual EnumAttributeType getAtrType(string attributeName)
        {
            AtrInfo ai = (AtrInfo)attribInfoTable[attributeName];

            if (ai == null)
            {
                return(null);
            }
            return(ai.getAtrType());
        }
コード例 #2
0
ファイル: AttrInfoTest.cs プロジェクト: cip4/JDFLibNet
        public virtual void testgetFirstLastVersion()
        {
            AtrInfo ai = new AtrInfo(0x44433211, AttributeInfo.EnumAttributeType.boolean_, null, null);

            Assert.AreEqual(EnumVersion.Version_1_2, ai.getFirstVersion(), "");
            Assert.AreEqual(EnumVersion.Version_1_4, ai.getLastVersion(), "");

            ai = new AtrInfo(0x33333222, AttributeInfo.EnumAttributeType.boolean_, null, null);
            Assert.AreEqual(EnumVersion.Version_1_0, ai.getFirstVersion(), "");
            Assert.AreEqual(EnumVersion.Version_1_7, ai.getLastVersion(), "");
        }
コード例 #3
0
ファイル: AttributeInfo.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 <summary> * Returns true if there is at least one attribute matching the requested validity for the specified JDF version.
        ///	 *  </summary>
        ///	 * <param name="EnumAttributeValidity"> attrValidity: requested validity </param>
        ///	 * <returns> boolean: true if at least one attribute matches the requested validity </returns>
        ///
        public virtual bool hasConformingAttrib(EnumAttributeValidity attrValidity)
        {
            IEnumerator iter = attribInfoTable.Keys.GetEnumerator();

            long l2 = JDFVersions.getTheMask(version);
            long v2 = JDFVersions.getTheOffset(version);

            while (iter.MoveNext())
            {
                AtrInfo ai = (AtrInfo)attribInfoTable[iter.Current];
                if ((ai.getAtrValidityStatus() & l2) == ((long)attrValidity.getValue() << (int)v2))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #4
0
ファイル: AttributeInfo.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 <summary> * Returns a list of attributes matching the requested validity for the specified JDF version.
        ///	 *  </summary>
        ///	 * <param name="EnumAttributeValidity"> attrValidity: requested validity </param>
        ///	 * <returns> VString: list of strings containing the names of the matching attributes </returns>
        ///
        public virtual VString conformingAttribs(EnumAttributeValidity attrValidity)
        {
            VString matchingAttribs = new VString();
            long    l2 = JDFVersions.getTheMask(version);
            long    v2 = JDFVersions.getTheOffset(version);

            IEnumerator iter = attribInfoTable.Keys.GetEnumerator();
            bool        bOK  = attrValidity == null;

            while (iter.MoveNext())
            {
                string  theKey = (string)iter.Current;
                AtrInfo ai     = (AtrInfo)attribInfoTable[theKey];
                if (bOK)
                {
                    matchingAttribs.Add(theKey);
                }
                else
                {
                    if (attrValidity != null)
                    {
                        // grab values from tables
                        long l1 = ai.getAtrValidityStatus();
                        long l3 = l1 & l2;

                        // calculate correct mask from attrValidity and version
                        long v1 = attrValidity.getValue();
                        long v3 = v1 << (int)v2;

                        // tables and version coincide
                        if (l3 == v3)
                        {
                            matchingAttribs.Add(theKey);
                        }
                    }
                }
            }

            return(matchingAttribs);
        }
コード例 #5
0
ファイル: AttributeInfo.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 <summary> * Returns a map of attributes with defaults for the specified JDF version.
        ///	 *  </summary>
        ///	 * <returns> JDFAttributeMap: map of strings containing the names and defaults of the matching attributes, null if no
        ///	 *         defaults exist </returns>
        ///
        public virtual JDFAttributeMap getDefaultAttributeMap()
        {
            JDFAttributeMap matchingAttribs = new JDFAttributeMap();

            IEnumerator iter = attribInfoTable.Keys.GetEnumerator();

            while (iter.MoveNext())
            {
                string  theKey = (string)iter.Current;
                AtrInfo ai     = (AtrInfo)attribInfoTable[theKey];
                long    l2     = JDFVersions.getTheMask(version);
                long    v2     = JDFVersions.getTheOffset(version);
                EnumAttributeValidity versionVal = EnumAttributeValidity.getEnum((int)((ai.getAtrValidityStatus() & l2) >> (int)v2));
                if (versionVal.Equals(EnumAttributeValidity.Optional) || versionVal.Equals(EnumAttributeValidity.Required))
                {
                    string def = ai.getAtrDefault();
                    if (def != null)
                    {
                        matchingAttribs.put(theKey, def);
                    }
                }
            }
            return(matchingAttribs.IsEmpty() ? null : matchingAttribs);
        }
コード例 #6
0
ファイル: AtrInfoTable.cs プロジェクト: cip4/JDFLibNet
        ///
        ///	 * <param name="n"> </param>
        ///	 * <param name="s"> </param>
        ///	 * <param name="t"> </param>
        ///	 * <param name="e"> </param>
        ///

        public AtrInfoTable(string n, long s, AttributeInfo.EnumAttributeType t, ValuedEnum e, string def)
        {
            attributeName = n;
            info          = new AtrInfo(s, t, e, def);
        }