⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mockupgeneratepropertiesrequestprocessor.java

📁 Python Development Environment (Python IDE plugin for Eclipse). Features editor, code completion, re
💻 JAVA
字号:
package org.python.pydev.refactoring.tests.codegenerator.generateproperties;

import java.util.ArrayList;
import java.util.List;

import org.python.pydev.refactoring.ast.adapters.IClassDefAdapter;
import org.python.pydev.refactoring.ast.adapters.INodeAdapter;
import org.python.pydev.refactoring.ast.adapters.ModuleAdapter;
import org.python.pydev.refactoring.ast.adapters.PropertyTextAdapter;
import org.python.pydev.refactoring.codegenerator.generateproperties.request.GeneratePropertiesRequest;
import org.python.pydev.refactoring.core.request.IRequestProcessor;

public class MockupGeneratePropertiesRequestProcessor implements IRequestProcessor<GeneratePropertiesRequest> {

	private ModuleAdapter module;

	private int classSelection;

	private List<Integer> attributeSelection;

	private int methodOffsetStrategy;

	private int propertyOffsetStrategy;

	private List<Integer> methodSelection;

	private int accessModifier;

	private MockupGeneratePropertiesRequestProcessor(ModuleAdapter module, int classSelection, List<Integer> attributeSelection,
			int methodOffsetStrategy, int propertyOffsetStrategy, List<Integer> methodSelection, int accessModifier) {
		this.module = module;
		this.attributeSelection = attributeSelection;
		this.classSelection = classSelection;
		this.methodSelection = methodSelection;
		this.propertyOffsetStrategy = propertyOffsetStrategy;
		this.methodOffsetStrategy = methodOffsetStrategy;
		this.accessModifier = accessModifier;
	}

	public MockupGeneratePropertiesRequestProcessor(ModuleAdapter module, MockupGeneratePropertiesConfig config) {
		this(module, config.getClassSelection(), config.getAttributeSelection(), config.getMethodOffsetStrategy(), config
				.getPropertyOffsetStrategy(), config.getMethodSelection(), config.getAccessModifier());
	}

	public List<GeneratePropertiesRequest> getRefactoringRequests() {
		IClassDefAdapter clazz = module.getClasses().get(classSelection);

		List<INodeAdapter> attributes = new ArrayList<INodeAdapter>();
		for (int index : attributeSelection) {
			attributes.add(clazz.getAttributes().get(index));
		}

		List<PropertyTextAdapter> properties = new ArrayList<PropertyTextAdapter>();
		for (int elem : methodSelection) {
			properties.add(new PropertyTextAdapter(elem, ""));
		}

		List<GeneratePropertiesRequest> requests = new ArrayList<GeneratePropertiesRequest>();
		GeneratePropertiesRequest req;
		for (INodeAdapter elem : attributes) {
			req = new GeneratePropertiesRequest(clazz, elem, properties, methodOffsetStrategy, propertyOffsetStrategy, accessModifier, "\n");
			requests.add(req);
		}

		return requests;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -