org.apache.shindig.config
Class JsonContainerConfig

java.lang.Object
  extended by org.apache.shindig.config.AbstractContainerConfig
      extended by org.apache.shindig.config.JsonContainerConfig
All Implemented Interfaces:
ContainerConfig

public class JsonContainerConfig
extends AbstractContainerConfig

Represents a container configuration using JSON notation. See config/container.js for an example configuration. We use a cascading model, so you only have to specify attributes in your config that you actually want to change. String values may use expressions. The variable context defaults to the 'current' container, but parent values may be accessed through the special "parent" property.


Field Summary
static String CONTAINER_KEY
           
static char FILE_SEPARATOR
           
static String PARENT_KEY
           
static String SERVER_HOST
           
static String SERVER_PORT
           
 
Fields inherited from interface org.apache.shindig.config.ContainerConfig
DEFAULT_CONTAINER
 
Constructor Summary
JsonContainerConfig(org.json.JSONObject json, Expressions expressions)
          Creates a new configuration from a JSON Object, for use in testing.
JsonContainerConfig(String containers, Expressions expressions)
           
JsonContainerConfig(String containers, String host, String port, String securityTokenKeyFile, Expressions expressions)
          Creates a new configuration from files.
 
Method Summary
protected  javax.el.ELContext createExpressionContext(String container)
          Protected to allow overriding.
 Collection<String> getContainers()
           
protected  Expressions getExpressions()
          Make Expressions available to subclasses so they can create ELContexts
 Map<String,Object> getProperties(String container)
          Fetch all properties for the given container configuration.
 Object getProperty(String container, String property)
           
protected  void init()
          Initializes the configuration.
protected  void loadFromString(String json, org.json.JSONObject all)
          Processes a container file.
 String toString()
           
 
Methods inherited from class org.apache.shindig.config.AbstractContainerConfig
getBool, getInt, getList, getMap, getString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILE_SEPARATOR

public static final char FILE_SEPARATOR
See Also:
Constant Field Values

PARENT_KEY

public static final String PARENT_KEY
See Also:
Constant Field Values

CONTAINER_KEY

public static final String CONTAINER_KEY
See Also:
Constant Field Values

SERVER_PORT

public static final String SERVER_PORT
See Also:
Constant Field Values

SERVER_HOST

public static final String SERVER_HOST
See Also:
Constant Field Values
Constructor Detail

JsonContainerConfig

public JsonContainerConfig(String containers,
                           Expressions expressions)
                    throws ContainerConfigException
Throws:
ContainerConfigException

JsonContainerConfig

@Inject
public JsonContainerConfig(String containers,
                                  @Nullable
                                  String host,
                                  @Nullable
                                  String port,
                                  @Nullable
                                  String securityTokenKeyFile,
                                  Expressions expressions)
                    throws ContainerConfigException
Creates a new configuration from files.

Throws:
ContainerConfigException

JsonContainerConfig

public JsonContainerConfig(org.json.JSONObject json,
                           Expressions expressions)
Creates a new configuration from a JSON Object, for use in testing.

Method Detail

init

protected void init()
Initializes the configuration. Called during construction.


getContainers

public Collection<String> getContainers()
Specified by:
getContainers in interface ContainerConfig
Overrides:
getContainers in class AbstractContainerConfig
Returns:
The set of all containers that are currently registered.

getProperties

public Map<String,Object> getProperties(String container)
Description copied from interface: ContainerConfig
Fetch all properties for the given container configuration.

Specified by:
getProperties in interface ContainerConfig
Overrides:
getProperties in class AbstractContainerConfig

getProperty

public Object getProperty(String container,
                          String property)
Specified by:
getProperty in interface ContainerConfig
Specified by:
getProperty in class AbstractContainerConfig
Returns:
The configuration property stored under the given name for the given container.

getExpressions

protected Expressions getExpressions()
Make Expressions available to subclasses so they can create ELContexts


createExpressionContext

protected javax.el.ELContext createExpressionContext(String container)
Protected to allow overriding.


loadFromString

protected void loadFromString(String json,
                              org.json.JSONObject all)
                       throws ContainerConfigException
Processes a container file.

Parameters:
json -
Throws:
ContainerConfigException

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2007-2012. All Rights Reserved.