All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.albertus82.jface.preference.page.IPageDefinition Maven / Gradle / Ivy

Go to download

Java SWT/JFace Utility Library including a Preferences Framework, Lightweight HTTP Server and macOS support.

There is a newer version: 20.1.0
Show newest version
package io.github.albertus82.jface.preference.page;

import org.eclipse.jface.resource.ImageDescriptor;

/**
 * 

* This is a very simple example of enum that implements * {@link io.github.albertus82.jface.preference.page.IPageDefinition * IPageDefinition}: *

* *
 * public enum MyPageDefinition implements IPageDefinition {
 * 
 * 	TEXT(new PageDefinitionDetailsBuilder().nodeId("text").label("Text").build()),
 * 	TEXT_NUMERIC(new PageDefinitionDetailsBuilder().nodeId("text.numeric").parent(TEXT).label("Numeric").build()),
 * 	COMBO(new PageDefinitionDetailsBuilder().nodeId("combo").label("Combo").build()),
 * 	COMBO_NUMERIC(new PageDefinitionDetailsBuilder().nodeId("combo.numeric").parent(COMBO).label("Numeric").build()),
 * 	PAGE(new PageDefinitionDetailsBuilder().nodeId("page").label("Page").build()),
 * 	VARIOUS(new PageDefinitionDetailsBuilder().nodeId("various").label("Various").build());
 * 
 * 	private PageDefinitionDetails pageDefinitionDetails;
 * 
 * 	MyPageDefinition() {
 * 		this(new PageDefinitionDetailsBuilder().build());
 * 	}
 * 
 * 	MyPageDefinition(PageDefinitionDetails pageDefinitionDetails) {
 * 		this.pageDefinitionDetails = pageDefinitionDetails;
 * 	}
 * 
 * 	@Override
 * 	public String getNodeId() {
 * 		return pageDefinitionDetails.getNodeId();
 * 	}
 * 
 * 	@Override
 * 	public String getLabel() {
 * 		return pageDefinitionDetails.getLabel().get();
 * 	}
 * 
 * 	@Override
 * 	public Class<? extends BasePreferencePage> getPageClass() {
 * 		return pageDefinitionDetails.getPageClass();
 * 	}
 * 
 * 	@Override
 * 	public IPageDefinition getParent() {
 * 		return pageDefinitionDetails.getParent();
 * 	}
 * 
 * 	@Override
 * 	public ImageDescriptor getImage() {
 * 		return pageDefinitionDetails.getImage();
 * 	}
 * }
 * 
* *

* You can surely improve this code, for example introducing localization and * autodetermining {@code nodeId} values using the enum names. This example * makes use of * {@link io.github.albertus82.jface.preference.page.PageDefinitionDetails * PageDefinitionDetails} helper class and its builder. *

*/ public interface IPageDefinition { String getNodeId(); String getLabel(); Class getPageClass(); ImageDescriptor getImage(); IPageDefinition getParent(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy