Example usage for org.eclipse.jdt.internal.core.util MementoTokenizer nextToken

List of usage examples for org.eclipse.jdt.internal.core.util MementoTokenizer nextToken

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.util MementoTokenizer nextToken.

Prototype

public String nextToken() 

Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.BinaryType.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento,
        WorkingCopyOwner workingCopyOwner) {
    switch (token.charAt(0)) {
    case JEM_COUNT:
        return getHandleUpdatingCountFromMemento(memento, workingCopyOwner);
    case JEM_FIELD:
        if (!memento.hasMoreTokens())
            return this;
        String fieldName = memento.nextToken();
        JavaElement field = (JavaElement) getField(fieldName);
        return field.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_INITIALIZER:
        if (!memento.hasMoreTokens())
            return this;
        String count = memento.nextToken();
        JavaElement initializer = (JavaElement) getInitializer(Integer.parseInt(count));
        return initializer.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_METHOD:
        if (!memento.hasMoreTokens())
            return this;
        String selector = memento.nextToken();
        ArrayList params = new ArrayList();
        nextParam: while (memento.hasMoreTokens()) {
            token = memento.nextToken();
            switch (token.charAt(0)) {
            case JEM_TYPE:
            case JEM_TYPE_PARAMETER:
            case JEM_ANNOTATION:
                break nextParam;
            case JEM_METHOD:
                if (!memento.hasMoreTokens())
                    return this;
                String param = memento.nextToken();
                StringBuffer buffer = new StringBuffer();
                while (param.length() == 1 && Signature.C_ARRAY == param.charAt(0)) { // backward compatible with 3.0 mementos
                    buffer.append(Signature.C_ARRAY);
                    if (!memento.hasMoreTokens())
                        return this;
                    param = memento.nextToken();
                }/*  w w  w  . ja  v a2s . com*/
                params.add(buffer.toString() + param);
                break;
            default:
                break nextParam;
            }
        }
        String[] parameters = new String[params.size()];
        params.toArray(parameters);
        JavaElement method = (JavaElement) getMethod(selector, parameters);
        switch (token.charAt(0)) {
        case JEM_LAMBDA_EXPRESSION:
        case JEM_TYPE:
        case JEM_TYPE_PARAMETER:
        case JEM_LOCALVARIABLE:
        case JEM_ANNOTATION:
            return method.getHandleFromMemento(token, memento, workingCopyOwner);
        default:
            return method;
        }
    case JEM_TYPE:
        String typeName;
        if (memento.hasMoreTokens()) {
            typeName = memento.nextToken();
            char firstChar = typeName.charAt(0);
            if (firstChar == JEM_FIELD || firstChar == JEM_INITIALIZER || firstChar == JEM_METHOD
                    || firstChar == JEM_TYPE || firstChar == JEM_COUNT) {
                token = typeName;
                typeName = ""; //$NON-NLS-1$
            } else {
                token = null;
            }
        } else {
            typeName = ""; //$NON-NLS-1$
            token = null;
        }
        JavaElement type = (JavaElement) getType(typeName);
        if (token == null) {
            return type.getHandleFromMemento(memento, workingCopyOwner);
        } else {
            return type.getHandleFromMemento(token, memento, workingCopyOwner);
        }
    case JEM_TYPE_PARAMETER:
        //         if (!memento.hasMoreTokens()) return this;
        //         String typeParameterName = memento.nextToken();
        //         JavaElement typeParameter = new TypeParameter(this, typeParameterName);
        //         return typeParameter.getHandleFromMemento(memento, workingCopyOwner);
        throw new UnsupportedOperationException();
    case JEM_ANNOTATION:
        //         if (!memento.hasMoreTokens()) return this;
        //         String annotationName = memento.nextToken();
        //         JavaElement annotation = new Annotation(this, annotationName);
        //         return annotation.getHandleFromMemento(memento, workingCopyOwner);
        throw new UnsupportedOperationException();
    }
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ClassFile.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner) {
    switch (token.charAt(0)) {
    case JEM_TYPE:
        if (!memento.hasMoreTokens())
            return this;
        String typeName = memento.nextToken();
        JavaElement type = new BinaryType(this, manager, typeName);
        return type.getHandleFromMemento(memento, owner);
    }/*from w ww . j a v  a2 s.  c o m*/
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.CompilationUnit.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento,
        WorkingCopyOwner workingCopyOwner) {
    switch (token.charAt(0)) {
    case JEM_IMPORTDECLARATION:
        JavaElement container = (JavaElement) getImportContainer();
        return container.getHandleFromMemento(token, memento, workingCopyOwner);
    case JEM_PACKAGEDECLARATION:
        if (!memento.hasMoreTokens())
            return this;
        String pkgName = memento.nextToken();
        JavaElement pkgDecl = (JavaElement) getPackageDeclaration(pkgName);
        return pkgDecl.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_TYPE:
        if (!memento.hasMoreTokens())
            return this;
        String typeName = memento.nextToken();
        JavaElement type = (JavaElement) getType(typeName);
        return type.getHandleFromMemento(memento, workingCopyOwner);
    }/*  w w w .ja v a  2s . co  m*/
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ImportContainer.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento,
        WorkingCopyOwner workingCopyOwner) {
    switch (token.charAt(0)) {
    case JEM_COUNT:
        return getHandleUpdatingCountFromMemento(memento, workingCopyOwner);
    case JEM_IMPORTDECLARATION:
        if (memento.hasMoreTokens()) {
            String importName = memento.nextToken();
            JavaElement importDecl = (JavaElement) getImport(importName);
            return importDecl.getHandleFromMemento(memento, workingCopyOwner);
        } else {/*from ww w.j  a v  a  2  s. c  o m*/
            return this;
        }
    }
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElement.java

License:Open Source License

public IJavaElement getHandleFromMemento(MementoTokenizer memento, WorkingCopyOwner owner) {
    if (!memento.hasMoreTokens())
        return this;
    String token = memento.nextToken();
    return getHandleFromMemento(token, memento, owner);
}

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaModel.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner) {
    switch (token.charAt(0)) {
    case JEM_JAVAPROJECT:
        if (!memento.hasMoreTokens())
            return this;
        String projectName = memento.nextToken();
        JavaElement project = (JavaElement) getJavaProject(projectName);
        return project.getHandleFromMemento(memento, owner);
    }// w w w .ja va2  s  .  c  o  m
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.Member.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento,
        WorkingCopyOwner workingCopyOwner) {
    switch (token.charAt(0)) {
    case JEM_COUNT:
        return getHandleUpdatingCountFromMemento(memento, workingCopyOwner);
    case JEM_LAMBDA_EXPRESSION:
        //                if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.STRING)
        //                    return this;
        //                if (!memento.hasMoreTokens()) return this;
        //                String interphase = memento.nextToken();
        //                if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.COUNT)
        //                    return this;
        //                int sourceStart = Integer.parseInt(memento.nextToken());
        //                if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.COUNT)
        //                    return this;
        //                int sourceEnd = Integer.parseInt(memento.nextToken());
        //                if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.COUNT)
        //                    return this;
        //                int arrowPosition = Integer.parseInt(memento.nextToken());
        //                LambdaExpression expression = LambdaFactory.createLambdaExpression(this, interphase, sourceStart, sourceEnd,
        // arrowPosition);
        //                if (!memento.hasMoreTokens() || (token = memento.nextToken()) != MementoTokenizer.LAMBDA_METHOD)
        //                    return expression;
        //                return expression.getHandleFromMemento(token, memento, workingCopyOwner);
        throw new UnsupportedOperationException();
    case JEM_TYPE:
        String typeName;//  w  w  w  .  j a  va  2s . c  o  m
        if (memento.hasMoreTokens()) {
            typeName = memento.nextToken();
            char firstChar = typeName.charAt(0);
            if (firstChar == JEM_FIELD || firstChar == JEM_INITIALIZER || firstChar == JEM_METHOD
                    || firstChar == JEM_TYPE || firstChar == JEM_COUNT) {
                token = typeName;
                typeName = ""; //$NON-NLS-1$
            } else {
                token = null;
            }
        } else {
            typeName = ""; //$NON-NLS-1$
            token = null;
        }
        JavaElement type = (JavaElement) getType(typeName, 1);
        if (token == null) {
            return type.getHandleFromMemento(memento, workingCopyOwner);
        } else {
            return type.getHandleFromMemento(token, memento, workingCopyOwner);
        }
    case JEM_LOCALVARIABLE:
        if (!memento.hasMoreTokens())
            return this;
        String varName = memento.nextToken();
        if (!memento.hasMoreTokens())
            return this;
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        int declarationStart = Integer.parseInt(memento.nextToken());
        if (!memento.hasMoreTokens())
            return this;
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        int declarationEnd = Integer.parseInt(memento.nextToken());
        if (!memento.hasMoreTokens())
            return this;
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        int nameStart = Integer.parseInt(memento.nextToken());
        if (!memento.hasMoreTokens())
            return this;
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        int nameEnd = Integer.parseInt(memento.nextToken());
        if (!memento.hasMoreTokens())
            return this;
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        String typeSignature = memento.nextToken();
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        int flags = Integer.parseInt(memento.nextToken());
        memento.nextToken(); // JEM_COUNT
        if (!memento.hasMoreTokens())
            return this;
        boolean isParameter = Boolean.valueOf(memento.nextToken()).booleanValue();
        return new LocalVariable(this, manager, varName, declarationStart, declarationEnd, nameStart, nameEnd,
                typeSignature, null, flags, isParameter);
    //                throw new UnsupportedOperationException();
    case JEM_TYPE_PARAMETER:
        if (!memento.hasMoreTokens())
            return this;
        String typeParameterName = memento.nextToken();
        JavaElement typeParameter = new TypeParameter(this, manager, typeParameterName);
        return typeParameter.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_ANNOTATION:
        if (!memento.hasMoreTokens())
            return this;
        String annotationName = memento.nextToken();
        JavaElement annotation = new Annotation(this, manager, annotationName);
        return annotation.getHandleFromMemento(memento, workingCopyOwner);

    }
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.PackageFragment.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner) {
    switch (token.charAt(0)) {
    case JEM_CLASSFILE:
        if (!memento.hasMoreTokens())
            return this;
        String classFileName = memento.nextToken();
        JavaElement classFile = (JavaElement) getClassFile(classFileName);
        return classFile.getHandleFromMemento(memento, owner);
    case JEM_COMPILATIONUNIT:
        if (!memento.hasMoreTokens())
            return this;
        String cuName = memento.nextToken();
        JavaElement cu = new CompilationUnit(this, manager, cuName, owner);
        return cu.getHandleFromMemento(memento, owner);
    }// w w  w  . ja  v  a2 s.  c om
    return null;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.SourceRefElement.java

License:Open Source License

public IJavaElement getHandleUpdatingCountFromMemento(MementoTokenizer memento, WorkingCopyOwner owner) {
    if (!memento.hasMoreTokens())
        return this;
    this.occurrenceCount = Integer.parseInt(memento.nextToken());
    if (!memento.hasMoreTokens())
        return this;
    String token = memento.nextToken();
    return getHandleFromMemento(token, memento, owner);
}

From source file:com.codenvy.ide.ext.java.server.internal.core.SourceType.java

License:Open Source License

public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento,
        WorkingCopyOwner workingCopyOwner) {
    switch (token.charAt(0)) {
    case JEM_COUNT:
        return getHandleUpdatingCountFromMemento(memento, workingCopyOwner);
    case JEM_FIELD:
        if (!memento.hasMoreTokens())
            return this;
        String fieldName = memento.nextToken();
        JavaElement field = (JavaElement) getField(fieldName);
        return field.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_INITIALIZER:
        if (!memento.hasMoreTokens())
            return this;
        String count = memento.nextToken();
        JavaElement initializer = (JavaElement) getInitializer(Integer.parseInt(count));
        return initializer.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_METHOD:
        if (!memento.hasMoreTokens())
            return this;
        String selector = memento.nextToken();
        ArrayList params = new ArrayList();
        nextParam: while (memento.hasMoreTokens()) {
            token = memento.nextToken();
            switch (token.charAt(0)) {
            case JEM_TYPE:
            case JEM_TYPE_PARAMETER:
            case JEM_ANNOTATION:
                break nextParam;
            case JEM_METHOD:
                if (!memento.hasMoreTokens())
                    return this;
                String param = memento.nextToken();
                StringBuffer buffer = new StringBuffer();
                while (param.length() == 1 && Signature.C_ARRAY == param.charAt(0)) { // backward compatible with 3.0 mementos
                    buffer.append(Signature.C_ARRAY);
                    if (!memento.hasMoreTokens())
                        return this;
                    param = memento.nextToken();
                }//from  ww  w.  j  a  va  2 s  .  c o  m
                params.add(buffer.toString() + param);
                break;
            default:
                break nextParam;
            }
        }
        String[] parameters = new String[params.size()];
        params.toArray(parameters);
        JavaElement method = (JavaElement) getMethod(selector, parameters);
        switch (token.charAt(0)) {
        case JEM_LAMBDA_EXPRESSION:
        case JEM_TYPE:
        case JEM_TYPE_PARAMETER:
        case JEM_LOCALVARIABLE:
        case JEM_ANNOTATION:
            return method.getHandleFromMemento(token, memento, workingCopyOwner);
        default:
            return method;
        }
    case JEM_TYPE:
        String typeName;
        if (memento.hasMoreTokens()) {
            typeName = memento.nextToken();
            char firstChar = typeName.charAt(0);
            if (firstChar == JEM_FIELD || firstChar == JEM_INITIALIZER || firstChar == JEM_METHOD
                    || firstChar == JEM_TYPE || firstChar == JEM_COUNT) {
                token = typeName;
                typeName = ""; //$NON-NLS-1$
            } else {
                token = null;
            }
        } else {
            typeName = ""; //$NON-NLS-1$
            token = null;
        }
        JavaElement type = (JavaElement) getType(typeName);
        if (token == null) {
            return type.getHandleFromMemento(memento, workingCopyOwner);
        } else {
            return type.getHandleFromMemento(token, memento, workingCopyOwner);
        }
    case JEM_TYPE_PARAMETER:
        if (!memento.hasMoreTokens())
            return this;
        String typeParameterName = memento.nextToken();
        JavaElement typeParameter = new TypeParameter(this, manager, typeParameterName);
        return typeParameter.getHandleFromMemento(memento, workingCopyOwner);
    case JEM_ANNOTATION:
        if (!memento.hasMoreTokens())
            return this;
        String annotationName = memento.nextToken();
        JavaElement annotation = new Annotation(this, manager, annotationName);
        return annotation.getHandleFromMemento(memento, workingCopyOwner);
    }
    return null;
}