com.foxsmart.csu.config.global.line
Class FlowcontrolComponent

java.lang.Object
  extended by com.foxsmart.csu.config.CiscoRouterConfigParser
      extended by com.foxsmart.csu.config.CiscoRouterConfigComponent
          extended by com.foxsmart.csu.config.global.line.FlowcontrolComponent
All Implemented Interfaces:
MultiLineComponent, java.io.Serializable

public class FlowcontrolComponent
extends CiscoRouterConfigComponent
implements MultiLineComponent

Sets the flow control characteristics between the router and an attached device.

See Also:
Serialized Form

Field Summary
static java.lang.String FLOWCONTROL
           
static java.lang.String FLOWCONTROL_HARDWARE
          Sets the flow control to hardware controlled.
static java.lang.String FLOWCONTROL_SOFTWARE
          Sets the flow control to software controlled.
static java.lang.String FLOWCONTROL_SOFTWARE_LOCK
          Sets the flow control to software controlled while ignoring network host requests to change flow control.
static java.lang.String HARDWARE
           
static java.lang.String IN
           
static java.lang.String LOCK
           
static java.lang.String OUT
           
static java.lang.String SOFTWARE
           
 
Fields inherited from class com.foxsmart.csu.config.CiscoRouterConfigComponent
commentComponent, componentMap, log, parentComponent
 
Fields inherited from class com.foxsmart.csu.config.CiscoRouterConfigParser
NO, tokenIndex
 
Constructor Summary
FlowcontrolComponent()
          Constructs a flow control object.
 
Method Summary
 java.util.List buildFromIos(java.util.List configLines)
          Parse and populate the specific CiscoRouterComponent object based on the passed in individual lines of the IOS configuration.
 Commands generateDeleteIos(CiscoRouterConfig updatedCiscoRouterConfig)
          Generates the IOS configuration commands to delete this component.
 Commands generateIos()
          Returns the IOS configuration commands for this component.
 java.lang.String getInFlowControlType()
          Gets the "in" flow control type.
 java.lang.String getOutFlowControlType()
          Gets the "out" flow control type.
 void setInFlowControlType(java.lang.String inFlowControlType)
          Sets the "in" flow control type.
 void setOutFlowControlType(java.lang.String outFlowControlType)
          Sets the "out" flow control type.
 void validate()
          Validates this object to ensure it contains a valid IOS configuration.
 
Methods inherited from class com.foxsmart.csu.config.CiscoRouterConfigComponent
addComponent, addComponent, checkComponentType, deleteOldConfigWhenUpdating, dumpComponents, generateChildrenUpdateConfiglet, generateCompositeIos, generateCompositeIos, generateIos, generateIos, generateIos, generateMultiLineUpdateConfiglet, generateUpdateCompositeIos, generateUpdateIos, generateUpdateIos, getAllComponents, getCiscoRouterConfig, getComment, getComponentClassName, getComponentClassName, getComponentKeys, getComponents, getComponents, getDeferredDelete, getFirstComponent, getFirstComponent, getParentComponent, getTotalComponents, getTotalComponents, getUpdateConfiglet, instantiateComponent, instantiateComponent, isValid, removeAllComponents, removeAllComponents, removeAllComponents, removeComponent, removeComponent, removeComponent, requiresCommentSeparator, setComment, setParentComponent, validateChildren
 
Methods inherited from class com.foxsmart.csu.config.CiscoRouterConfigParser
checkExists, checkLineComplete, checkNotEmpty, checkRange, checkTokenCount, checkTokenCount, checkTokenMatch, checkTokenMatch, decrementTokenIndex, generateCommands, getBigDecimalNumberFromString, getDoubleNumberFromString, getEnum, getHexadecimalNumberFromString, getIntegerNumberFromString, getIpAddressFromString, getLine, getLongNumberFromString, getMacAddressFromString, getNextOptionalToken, getNextToken, getToken, getTokenIndex, getTokens, getTotalIndentedLines, getTotalLines, incrementTokenIndex, invalidConfiguration, invalidTokenFound, isEmpty, moreIndentedLines, moreLines, moreTokens, removeLines, resetTokenIndex, setTokenIndex, tokensLeft
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FLOWCONTROL

public static final java.lang.String FLOWCONTROL
See Also:
Constant Field Values

LOCK

public static final java.lang.String LOCK
See Also:
Constant Field Values

SOFTWARE

public static final java.lang.String SOFTWARE
See Also:
Constant Field Values

HARDWARE

public static final java.lang.String HARDWARE
See Also:
Constant Field Values

IN

public static final java.lang.String IN
See Also:
Constant Field Values

OUT

public static final java.lang.String OUT
See Also:
Constant Field Values

FLOWCONTROL_SOFTWARE

public static final java.lang.String FLOWCONTROL_SOFTWARE
Sets the flow control to software controlled.

See Also:
Constant Field Values

FLOWCONTROL_SOFTWARE_LOCK

public static final java.lang.String FLOWCONTROL_SOFTWARE_LOCK
Sets the flow control to software controlled while ignoring network host requests to change flow control.

See Also:
Constant Field Values

FLOWCONTROL_HARDWARE

public static final java.lang.String FLOWCONTROL_HARDWARE
Sets the flow control to hardware controlled.

See Also:
Constant Field Values
Constructor Detail

FlowcontrolComponent

public FlowcontrolComponent()
Constructs a flow control object.

Method Detail

setInFlowControlType

public void setInFlowControlType(java.lang.String inFlowControlType)
Sets the "in" flow control type. Possible values are constants defined in this class (FLOWCONTROL_SOFTWARE, FLOWCONTROL_SOFTWARE_LOCK, FLOWCONTROL_HARDWARE) or null for no inbound flow control.

Parameters:
inFlowControlType - The in flow control type.

getInFlowControlType

public java.lang.String getInFlowControlType()
Gets the "in" flow control type.

Returns:
the "in" flow control type.

setOutFlowControlType

public void setOutFlowControlType(java.lang.String outFlowControlType)
Sets the "out" flow control type. Possible values are constants defined in this class (FLOWCONTROL_SOFTWARE, FLOWCONTROL_SOFTWARE_LOCK, FLOWCONTROL_HARDWARE) or null for no outbound flow control.

Parameters:
outFlowControlType - The out flow control type.

getOutFlowControlType

public java.lang.String getOutFlowControlType()
Gets the "out" flow control type.

Returns:
the "out" flow control type.

buildFromIos

public java.util.List buildFromIos(java.util.List configLines)
                            throws InvalidConfigurationException
Description copied from class: CiscoRouterConfigComponent
Parse and populate the specific CiscoRouterComponent object based on the passed in individual lines of the IOS configuration. The passed in configuration lines should represent the first line in the configuration that applies to the specific component. The component should use all lines needed by its specific part of the configuration and return a List with the remaining lines that are not part of the component's configuration.

Specified by:
buildFromIos in class CiscoRouterConfigComponent
Parameters:
configLines - The list of IOS configuration lines.
Returns:
The rest of the lines that were not parsed by the component.
Throws:
InvalidConfigurationException - if the IOS configuration can not be parsed for any reason.
See Also:
CiscoRouterConfigComponent

validate

public void validate()
              throws InvalidConfigurationException
Description copied from class: CiscoRouterConfigComponent
Validates this object to ensure it contains a valid IOS configuration.

Specified by:
validate in class CiscoRouterConfigComponent
Throws:
InvalidConfigurationException - if the configuration is invalid.
See Also:
CiscoRouterConfigComponent

generateIos

public Commands generateIos()
                     throws InvalidConfigurationException
Description copied from class: CiscoRouterConfigComponent
Returns the IOS configuration commands for this component.

Specified by:
generateIos in class CiscoRouterConfigComponent
Returns:
The IOS configuration string as a list of Command objects. To generate a configlet from the list of Command objects, use Command.getConfiglet().
Throws:
InvalidConfigurationException - if the IOS configuration is invalid and the IOS string can not be generated. The validate() method is used to determine if the configuration is valid.
See Also:
CiscoRouterConfigComponent

generateDeleteIos

public Commands generateDeleteIos(CiscoRouterConfig updatedCiscoRouterConfig)
                           throws InvalidConfigurationException
Description copied from class: CiscoRouterConfigComponent
Generates the IOS configuration commands to delete this component. This is the default implementation that generates a "no" statement followed by the generateIos() string for non CompositeComponents or generateHeaderIos() for CompositeComponents. Specific components may choose to override this method if this implementation is incorrect. The "no" keyword is placed where the first character of the command is located. For example, if the IOS command is " length 255", then the returned command will be " no length 255" (and not "no length 255").

Note that this implementation will call the getDeferredDelete method on the component and set the "deferred flag" on the returned Commands with its returned value.

Specified by:
generateDeleteIos in interface MultiLineComponent
Overrides:
generateDeleteIos in class CiscoRouterConfigComponent
Parameters:
updatedCiscoRouterConfig - the updated Cisco router configuration.
Returns:
The generated IOS string to deleted the component.
Throws:
InvalidConfigurationException - if the IOS configuration is invalid and the IOS string can not be generated. The validate() method is used to determine if the configuration is valid.
See Also:
MultiLineComponent


Copyright © 2005-2008 Fox Smart, Inc. All Rights Reserved.