Package org.jboss.forge.spec.javaee.validation.completer

Source Code of org.jboss.forge.spec.javaee.validation.completer.PropertyCompleter

/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.spec.javaee.validation.completer;

import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

import org.jboss.forge.parser.java.Field;
import org.jboss.forge.parser.java.JavaClass;
import org.jboss.forge.resources.Resource;
import org.jboss.forge.shell.Shell;
import org.jboss.forge.shell.completer.SimpleTokenCompleter;

import static org.jboss.forge.spec.javaee.validation.util.ResourceHelper.getJavaClassFromResource;

/**
* @author Kevin Pollet
*/
public class PropertyCompleter extends SimpleTokenCompleter
{
    private final Shell shell;

    @Inject
    public PropertyCompleter(Shell shell)
    {
        this.shell = shell;
    }

    @Override
    public List<String> getCompletionTokens()
    {
        final List<String> tokens = new ArrayList<String>();
        final Resource<?> currentResource = shell.getCurrentResource();

        try
        {

            final JavaClass javaClass = getJavaClassFromResource(currentResource);
            for (Field<JavaClass> oneField : javaClass.getFields())
            {
                tokens.add(oneField.getName());
            }

        } catch (FileNotFoundException e)
        {
            throw new RuntimeException(e);
        }

        return tokens;
    }
}
TOP

Related Classes of org.jboss.forge.spec.javaee.validation.completer.PropertyCompleter

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.