iTextSharp.text.pdf.PdfStructTreeController.AddClass C# (CSharp) Метод

AddClass() приватный Метод

private AddClass ( PdfObject obj ) : void
obj PdfObject
Результат void
        internal void AddClass(PdfObject obj)
        {
            obj = GetDirectObject(obj);
            if (obj.IsDictionary()) {
            PdfObject curClass = ((PdfDictionary)obj).Get(PdfName.C);
            if (curClass == null)
                return;
            if (curClass.IsArray()) {
                PdfArray array = (PdfArray)curClass;
                for (int i = 0; i < array.Size; ++i) {
                    AddClass(array[i]);
                }
            } else if (curClass.IsName())
                AddClass(curClass);
            } else if (obj.IsName()) {
            PdfName name = (PdfName)obj;
            if (sourceClassMap == null) {
                obj = GetDirectObject(structTreeRoot.Get(PdfName.CLASSMAP));
                if (obj == null || !obj.IsDictionary()) {
                    return;
                }
                sourceClassMap = (PdfDictionary)obj;
            }
            obj = GetDirectObject(sourceClassMap.Get(name));
            if (obj == null) {
                return;
            }
            PdfObject put = structureTreeRoot.GetMappedClass(name);
            if (put != null) {
                if (!CompareObjects(put,obj)) {
                    throw new BadPdfFormatException(MessageLocalization.GetComposedMessage("conflict.input.classmap",name));
                }
            } else {
                if (obj.IsDictionary())
                    structureTreeRoot.MapClass(name, GetDirectDict((PdfDictionary)obj));
                else if (obj.IsArray()) {
                    structureTreeRoot.MapClass(name, GetDirectArray((PdfArray)obj));
                }
            }
            }
        }