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

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.IpComponent
All Implemented Interfaces:
MultiLineComponent, java.io.Serializable

public class IpComponent
extends CiscoRouterConfigComponent
implements MultiLineComponent

The ip class configures various IP line parameters. Specifically, the netmask display and the input coalesce threshold can both be set.

See Also:
Serialized Form

Field Summary
static java.lang.String BIT_COUNT
           
static java.lang.String DECIMAL
           
static int DEFAULT_NUM_PACKETS
          The default number of packets.
static java.lang.String HEXADECIMAL
           
static java.lang.String INPUT_COALESCE_THRESHOLD
           
static java.lang.String IP
           
static int MAX_NUM_PACKETS
          The maximum number of packets.
static int MIN_NUM_PACKETS
          The minimum number of packets.
static java.lang.String NETMASK_FORMAT
           
static java.lang.String NETMASK_FORMAT_BIT_COUNT
          Display netmask as number of significant bits.
static java.lang.String NETMASK_FORMAT_DECIMAL
          Display netmask in dotted decimal.
static java.lang.String NETMASK_FORMAT_HEXADECIMAL
          Display netmask in hexadecimal.
static java.lang.String TCP
           
 
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
IpComponent()
          Constructs an IP Component 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.Integer getInputCoalesceThreshold()
          Gets the input coalesce threshold.
 java.lang.String getNetmaskFormat()
          Gets the netmask format.
 void setInputCoalesceThreshold(java.lang.Integer inputCoalesceThreshold)
          Set the threshold that triggers packet coalescing.
 void setNetmaskFormat(java.lang.String netmaskFormat)
          Sets the netmask format.
 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

MIN_NUM_PACKETS

public static final int MIN_NUM_PACKETS
The minimum number of packets.

See Also:
Constant Field Values

MAX_NUM_PACKETS

public static final int MAX_NUM_PACKETS
The maximum number of packets.

See Also:
Constant Field Values

DEFAULT_NUM_PACKETS

public static final int DEFAULT_NUM_PACKETS
The default number of packets.

See Also:
Constant Field Values

IP

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

TCP

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

NETMASK_FORMAT

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

BIT_COUNT

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

DECIMAL

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

HEXADECIMAL

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

INPUT_COALESCE_THRESHOLD

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

NETMASK_FORMAT_BIT_COUNT

public static final java.lang.String NETMASK_FORMAT_BIT_COUNT
Display netmask as number of significant bits.

See Also:
Constant Field Values

NETMASK_FORMAT_DECIMAL

public static final java.lang.String NETMASK_FORMAT_DECIMAL
Display netmask in dotted decimal.

See Also:
Constant Field Values

NETMASK_FORMAT_HEXADECIMAL

public static final java.lang.String NETMASK_FORMAT_HEXADECIMAL
Display netmask in hexadecimal.

See Also:
Constant Field Values
Constructor Detail

IpComponent

public IpComponent()
Constructs an IP Component object.

Method Detail

setNetmaskFormat

public void setNetmaskFormat(java.lang.String netmaskFormat)
Sets the netmask format. One of the netmask format constants should be passed in: NETMASK_FORMAT_BIT_COUNT, NETMASK_FORMAT_DECIMAL, NETMASK_FORMAT_HEXADECIMAL. Null is the same as NETMASK_FORMAT_BIT_COUNT which is also the default.

Parameters:
netmaskFormat - The netmask format.

getNetmaskFormat

public java.lang.String getNetmaskFormat()
Gets the netmask format.

Returns:
the netmask format.

setInputCoalesceThreshold

public void setInputCoalesceThreshold(java.lang.Integer inputCoalesceThreshold)
Set the threshold that triggers packet coalescing. Valid values are between 5-255. The default value is 20.

Parameters:
inputCoalesceThreshold - The input coalesce threshold.

getInputCoalesceThreshold

public java.lang.Integer getInputCoalesceThreshold()
Gets the input coalesce threshold.

Returns:
the input coalesce threshold.

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.