Beispiel #1
0
        public bool TryGet(NameToken name, out IToken token)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(Data.TryGetValue(name.Data, out token));
        }
        public bool TryGet <T>(NameToken name, out T token) where T : IToken
        {
            token = default(T);
            if (!TryGet(name, out var t) || !(t is T typedToken))
            {
                return(false);
            }

            token = typedToken;
            return(true);
        }
        public T Get <T>(NameToken name, IPdfTokenScanner scanner) where T : IToken
        {
            if (!TryGet(name, out var token) || !(token is T typedToken))
            {
                if (!(token is IndirectReferenceToken indirectReference))
                {
                    throw new InvalidOperationException($"Dictionary does not contain token with name {name} of type {typeof(T).Name}.");
                }

                typedToken = DirectObjectFinder.Get <T>(indirectReference, scanner);
            }

            return(typedToken);
        }
Beispiel #4
0
 public DictionaryToken With(NameToken key, IToken value) => With(key.Data, value);
Beispiel #5
0
 public bool ContainsKey(NameToken name)
 {
     return(Data.ContainsKey(name.Data));
 }