Package railo.runtime.type.it

Source Code of railo.runtime.type.it.ObjectsEntryIterator$EntryImpl

package railo.runtime.type.it;

import java.util.Iterator;
import java.util.Map.Entry;

import railo.runtime.engine.ThreadLocalPageContext;
import railo.runtime.type.Collection.Key;
import railo.runtime.type.KeyImpl;
import railo.runtime.type.Objects;

public class ObjectsEntryIterator implements Iterator<Entry<Key, Object>> {

  private Iterator<Key> keys;
  private Objects objs;

  public ObjectsEntryIterator(Key[] keys, Objects objs) {
    this.keys=new KeyIterator(keys);
    this.objs=objs;
  }
  public ObjectsEntryIterator(Iterator<Key> keys, Objects objs) {
    this.keys=keys;
    this.objs=objs;
  }

  public boolean hasNext() {
    return keys.hasNext();
  }

  @Override
  public Entry<Key, Object> next() {
    Key key = KeyImpl.toKey(keys.next(),null);
    return new EntryImpl(objs,key);
  }

  public void remove() {
    throw new UnsupportedOperationException("this operation is not suppored");
  }

  public class EntryImpl implements Entry<Key, Object> {

    protected Key key;
    private Objects  objcts;

    public EntryImpl(Objects objcts,Key key) {
      this.key=key;
      this. objcts= objcts;
    }

    @Override
    public Key getKey() {
      return key;
    }

    @Override
    public Object getValue() {
      return objcts.get(ThreadLocalPageContext.get(),key,null);
    }

    @Override
    public Object setValue(Object value) {
      return objcts.setEL(ThreadLocalPageContext.get(),key,value);
    }

  }
}
TOP

Related Classes of railo.runtime.type.it.ObjectsEntryIterator$EntryImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.