//# 0 errors, 74 messages
//#
/*
    //#pluginconfig.java:1:1: class: net.sourceforge.pebble.plugins.PluginConfig
    //#pluginconfig.java:1:1: method: net.sourceforge.pebble.plugins.PluginConfig.net.sourceforge.pebble.plugins.PluginConfig__static_init
 * Copyright (c) 2003-2005, Simon Brown
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 *   - Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in
 *     the documentation and/or other materials provided with the
 *     distribution.
 *
 *   - Neither the name of Pebble nor the names of its contributors may
 *     be used to endorse or promote products derived from this software
 *     without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package net.sourceforge.pebble.plugins;

import java.util.Properties;

/**
 * Represents a configuration item for a plugin
 * 
 * @author James Roper
 */
public class PluginConfig {
  private final String key;
  private final String name;
  private final PluginConfigType type;
  private final boolean requried;
  private final Properties properties;

  public PluginConfig(String key, String name, PluginConfigType type, boolean requried, Properties properties) {
    //#pluginconfig.java:48: method: void net.sourceforge.pebble.plugins.PluginConfig.net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): key
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): name
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): properties
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): requried
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this
    //#input(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): type
    //#output(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.key
    //#output(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.name
    //#output(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.properties
    //#output(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.requried
    //#output(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.type
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.key == key
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): init'ed(this.key)
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.name == name
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): init'ed(this.name)
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.properties == properties
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): init'ed(this.properties)
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.requried == requried
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): init'ed(this.requried)
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): this.type == type
    //#post(void net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)): init'ed(this.type)
    this.key = key;
    this.name = name;
    this.type = type;
    this.requried = requried;
    this.properties = properties;
  }
    //#pluginconfig.java:54: end of method: void net.sourceforge.pebble.plugins.PluginConfig.net.sourceforge.pebble.plugins.PluginConfig(String, String, PluginConfigType, bool, Properties)

  public String getKey() {
    return key;
    //#pluginconfig.java:57: method: String net.sourceforge.pebble.plugins.PluginConfig.getKey()
    //#input(String getKey()): this
    //#input(String getKey()): this.key
    //#output(String getKey()): return_value
    //#post(String getKey()): return_value == this.key
    //#post(String getKey()): init'ed(return_value)
    //#pluginconfig.java:57: end of method: String net.sourceforge.pebble.plugins.PluginConfig.getKey()
  }

  public String getName() {
    return name;
    //#pluginconfig.java:61: method: String net.sourceforge.pebble.plugins.PluginConfig.getName()
    //#input(String getName()): this
    //#input(String getName()): this.name
    //#output(String getName()): return_value
    //#post(String getName()): return_value == this.name
    //#post(String getName()): init'ed(return_value)
    //#pluginconfig.java:61: end of method: String net.sourceforge.pebble.plugins.PluginConfig.getName()
  }

  public PluginConfigType getType() {
    return type;
    //#pluginconfig.java:65: method: PluginConfigType net.sourceforge.pebble.plugins.PluginConfig.getType()
    //#input(PluginConfigType getType()): this
    //#input(PluginConfigType getType()): this.type
    //#output(PluginConfigType getType()): return_value
    //#post(PluginConfigType getType()): return_value == this.type
    //#post(PluginConfigType getType()): init'ed(return_value)
    //#pluginconfig.java:65: end of method: PluginConfigType net.sourceforge.pebble.plugins.PluginConfig.getType()
  }

  public boolean isRequried() {
    return requried;
    //#pluginconfig.java:69: method: bool net.sourceforge.pebble.plugins.PluginConfig.isRequried()
    //#input(bool isRequried()): this
    //#input(bool isRequried()): this.requried
    //#output(bool isRequried()): return_value
    //#post(bool isRequried()): return_value == this.requried
    //#post(bool isRequried()): init'ed(return_value)
    //#pluginconfig.java:69: end of method: bool net.sourceforge.pebble.plugins.PluginConfig.isRequried()
  }

  public Properties getProperties() {
    return properties;
    //#pluginconfig.java:73: method: Properties net.sourceforge.pebble.plugins.PluginConfig.getProperties()
    //#input(Properties getProperties()): this
    //#input(Properties getProperties()): this.properties
    //#output(Properties getProperties()): return_value
    //#post(Properties getProperties()): return_value == this.properties
    //#post(Properties getProperties()): init'ed(return_value)
    //#pluginconfig.java:73: end of method: Properties net.sourceforge.pebble.plugins.PluginConfig.getProperties()
  }
}
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Descendant_Table[net/sourceforge/pebble/plugins/PluginConfig]
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getKey()Ljava/lang/String;
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getName()Ljava/lang/String;
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getProperties()Ljava/util/Properties;
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getType()Lnet/sourceforge/pebble/plugins/PluginConfigType;
    //#output(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.isRequried()Z
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Descendant_Table[net/sourceforge/pebble/plugins/PluginConfig] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getKey()Ljava/lang/String; == &getKey
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getName()Ljava/lang/String; == &getName
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getProperties()Ljava/util/Properties; == &getProperties
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.getType()Lnet/sourceforge/pebble/plugins/PluginConfigType; == &getType
    //#post(net.sourceforge.pebble.plugins.PluginConfig__static_init): __Dispatch_Table.isRequried()Z == &isRequried
    //#pluginconfig.java:: end of method: net.sourceforge.pebble.plugins.PluginConfig.net.sourceforge.pebble.plugins.PluginConfig__static_init
    //#pluginconfig.java:: end of class: net.sourceforge.pebble.plugins.PluginConfig
