/*******************************************************************************
* Copyright (c) 2009 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.el.core.resolver;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.text.IRegion;
import org.jboss.tools.common.el.core.ELReference;
/**
* @author Alexey Kazakov
*/
public class SimpleELContext implements ELContext {
static final ELReference[] EMPTY_ARRAY = new ELReference[0];
protected IFile resource;
protected boolean dirty;
protected ELResolver[] elResolvers;
protected List<Var> vars = new ArrayList<Var>();
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getElResolvers()
*/
public ELResolver[] getElResolvers() {
return elResolvers;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#setElResolvers(org.jboss.tools.common.el.core.resolver.ELResolver[])
*/
public void setElResolvers(ELResolver[] elResolvers) {
this.elResolvers = elResolvers;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getResource()
*/
public IFile getResource() {
return resource;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#setResource(org.eclipse.core.resources.IFile)
*/
public void setResource(IFile resource) {
this.resource = resource;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getVars()
*/
public Var[] getVars() {
List<Var> vars = getVarsAsList();
return vars.toArray(new Var[vars.size()]);
}
public List<Var> getVarsAsList() {
return vars;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#setVars(java.util.List)
*/
public void setVars(List<Var> vars) {
this.vars = vars;
}
/**
* Adds new Var to the context
* @param vars
*/
public void addVar(Var var) {
vars.add(var);
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getELReferences()
*/
public ELReference[] getELReferences() {
return EMPTY_ARRAY;
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getVars(int)
*/
public Var[] getVars(int offset) {
return getVars();
}
public List<Var> getVarsAsList(int offset) {
return getVarsAsList();
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#getELReference(int)
*/
public ELReference getELReference(int offset) {
return null;
}
@Override
public Collection<ELReference> getELReferences(IRegion region) {
return Collections.emptyList();
}
/*
* (non-Javadoc)
* @see org.jboss.tools.common.el.core.resolver.ELContext#isDirty()
*/
@Override
public boolean isDirty() {
return dirty;
}
public void setDirty(boolean dirty) {
this.dirty = dirty;
}
}