/*******************************************************************************
* Copyright (c) 2011, 2012, 2013, 2014 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.kie.eclipse.server;
import java.util.List;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.wst.server.core.IServer;
import org.kie.eclipse.Activator;
import org.osgi.service.prefs.Preferences;
import com.eclipsesource.json.JsonObject;
/**
*
*/
public interface IKieResourceHandler {
public static QualifiedName RESOURCE_KEY = new QualifiedName(Activator.PLUGIN_ID, "ResourceKey");
String getName();
IServer getServer();
IKieResourceHandler getParent();
void setParent(IKieResourceHandler parent);
IKieResourceHandler getRoot();
Object getResource();
void setResource(Object resource);
void dispose();
IKieServiceDelegate getDelegate();
Object load();
boolean isLoaded();
public void setProperties(JsonObject properties);
public JsonObject getProperties();
List<? extends IKieResourceHandler> getChildren() throws Exception;
String getRuntimeId();
String getPreferenceName(String name);
// Preferences getPreferences();
// convenience methods
String getPreference(String name, String def);
boolean getPreference(String name, boolean def);
int getPreference(String name, int def);
void putPreference(String name, String value);
void putPreference(String name, boolean value);
void putPreference(String name, int value);
}