guide/blueprints/java/gist_generator/GistGenerator.java (23 lines of code) (raw):
package com.acme;
import java.io.IOException;
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.api.entity.ImplementedBy;
import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.core.annotation.Effector;
import org.apache.brooklyn.core.annotation.EffectorParam;
import org.apache.brooklyn.core.config.ConfigKeys;
@ImplementedBy(GistGeneratorImpl.class)
public interface GistGenerator extends Entity {
ConfigKey<String> OAUTH_KEY = ConfigKeys.newStringConfigKey("oauth.key", "OAuth key for creating a gist",
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
@Effector(description="Create a Gist")
String createGist(
@EffectorParam(name="gistName", description="Gist Name", defaultValue="Demo Gist") String gistName,
@EffectorParam(name="fileName", description="File Name", defaultValue="Hello.java") String fileName,
@EffectorParam(name="gistContents", description="Gist Contents", defaultValue="System.out.println(\"Hello World\");") String gistContents,
@EffectorParam(name="oauth.key", description="OAuth key for creating a gist", defaultValue="") String oauthKey) throws IOException;
@Effector(description="Retrieve a Gist")
public String getGist(
@EffectorParam(name="id", description="Gist id") String id,
@EffectorParam(name="oauth.key", description="OAuth key for creating a gist", defaultValue="") String oauthKey) throws IOException;
}