/**
* This file was auto-generated by mofcomp -j version 1.0.0 on Wed Jan 12
* 09:21:06 CET 2011.
*/
package org.opennaas.extensions.router.model;
import java.io.*;
import java.lang.Exception;
/**
* This Class contains accessor and mutator methods for all properties defined in the CIM class AutonomousSystem as well as methods comparable to the
* invokeMethods defined for this class. This Class implements the AutonomousSystemBean Interface. The CIM class AutonomousSystem is described as
* follows:
*
* An Autonomous System (AS) is a fundamental concept in networking. An AS provides a structured view of routing by segregating the system that is
* using routing (e.g., the Internet, or an extranet) into a set of separately administered domains that each have their own independent routing
* policies. These domains are called autonomous systems. The classic definition of an AS, from RFC1771, is '...a set of routers under a single
* technical administration, using an interior gateway protocol and common metrics to route packets within the AS, and using an exterior gateway
* protocol to route packets to other ASs'. The RFC continues: 'Since this classic definition was developed, it has become common for a single AS to
* use several interior gateway protocols and sometimes several sets of metrics within an AS. The use of the term Autonomous System here stresses the
* fact that, even when multiple IGPs and metrics are used, the administration of an AS appears to other ASs to have a single coherent interior
* routing plan and presents a consistent picture of what destinations are reachable through it.'
*/
public class AutonomousSystem extends AdminDomain implements Serializable {
/**
* This constructor creates a AutonomousSystemBeanImpl Class which implements the AutonomousSystemBean Interface, and encapsulates the CIM class
* AutonomousSystem in a Java Bean. The CIM class AutonomousSystem is described as follows:
*
* An Autonomous System (AS) is a fundamental concept in networking. An AS provides a structured view of routing by segregating the system that is
* using routing (e.g., the Internet, or an extranet) into a set of separately administered domains that each have their own independent routing
* policies. These domains are called autonomous systems. The classic definition of an AS, from RFC1771, is '...a set of routers under a single
* technical administration, using an interior gateway protocol and common metrics to route packets within the AS, and using an exterior gateway
* protocol to route packets to other ASs'. The RFC continues: 'Since this classic definition was developed, it has become common for a single AS
* to use several interior gateway protocols and sometimes several sets of metrics within an AS. The use of the term Autonomous System here
* stresses the fact that, even when multiple IGPs and metrics are used, the administration of an AS appears to other ASs to have a single
* coherent interior routing plan and presents a consistent picture of what destinations are reachable through it.'
*/
public AutonomousSystem() {
};
/**
* The following constants are defined for use with the ValueMap/Values qualified property aSNumber.
*/
private int aSNumber;
/**
* This method returns the AutonomousSystem.aSNumber property value. This property is described as follows:
*
* An ASNumber is an integer between 1 and 65535, with the range 64512 through 65535 reserved for private use. Every AS has a unique AS number,
* which is assigned to it by an Internet Registry or a provider. IANA assigns and administers AS numbers.
*
* @return int current aSNumber property value
* @exception Exception
*/
public int getASNumber() {
return this.aSNumber;
} // getASNumber
/**
* This method sets the AutonomousSystem.aSNumber property value. This property is described as follows:
*
* An ASNumber is an integer between 1 and 65535, with the range 64512 through 65535 reserved for private use. Every AS has a unique AS number,
* which is assigned to it by an Internet Registry or a provider. IANA assigns and administers AS numbers.
*
* @param int new aSNumber property value
* @exception Exception
*/
public void setASNumber(int aSNumber) {
this.aSNumber = aSNumber;
} // setASNumber
/**
* The following constants are defined for use with the ValueMap/Values qualified property isSingleHomed.
*/
private boolean isSingleHomed;
/**
* This method returns the AutonomousSystem.isSingleHomed property value. This property is described as follows:
*
* IsSingleHomed is a boolean that, when its value is TRUE, indicates that this AS reaches networks outside of its domain through a single exit
* point.
*
* @return boolean current isSingleHomed property value
* @exception Exception
*/
public boolean isIsSingleHomed() {
return this.isSingleHomed;
} // getIsSingleHomed
/**
* This method sets the AutonomousSystem.isSingleHomed property value. This property is described as follows:
*
* IsSingleHomed is a boolean that, when its value is TRUE, indicates that this AS reaches networks outside of its domain through a single exit
* point.
*
* @param boolean new isSingleHomed property value
* @exception Exception
*/
public void setIsSingleHomed(boolean isSingleHomed) {
this.isSingleHomed = isSingleHomed;
} // setIsSingleHomed
/**
* The following constants are defined for use with the ValueMap/Values qualified property isTransit.
*/
private boolean isTransit;
/**
* This method returns the AutonomousSystem.isTransit property value. This property is described as follows:
*
* IsTransit is a boolean that, when its value is TRUE, indicates that this AS will advertise routes that it learns from other ASs. A non-transit
* AS will only advertise its own routes.
*
* @return boolean current isTransit property value
* @exception Exception
*/
public boolean isIsTransit() {
return this.isTransit;
} // getIsTransit
/**
* This method sets the AutonomousSystem.isTransit property value. This property is described as follows:
*
* IsTransit is a boolean that, when its value is TRUE, indicates that this AS will advertise routes that it learns from other ASs. A non-transit
* AS will only advertise its own routes.
*
* @param boolean new isTransit property value
* @exception Exception
*/
public void setIsTransit(boolean isTransit) {
this.isTransit = isTransit;
} // setIsTransit
/**
* The following constants are defined for use with the ValueMap/Values qualified property requireIGPSync.
*/
private boolean requireIGPSync;
/**
* This method returns the AutonomousSystem.requireIGPSync property value. This property is described as follows:
*
* RequireIGPSync is a boolean that, when its value is TRUE, indicates that this AS must obey the following rule: a router should not advertise
* destinations learned from internal neighbors to external destinations unless those destinations are also known via some internal gateway
* protocol. Otherwise, a router may receive traffic that cannot yet be routed. However, since this is a costly choice, it is common practice to
* allow this rule to be broken under certain carefully controlled circumstances.
*
* @return boolean current requireIGPSync property value
* @exception Exception
*/
public boolean isRequireIGPSync() {
return this.requireIGPSync;
} // getRequireIGPSync
/**
* This method sets the AutonomousSystem.requireIGPSync property value. This property is described as follows:
*
* RequireIGPSync is a boolean that, when its value is TRUE, indicates that this AS must obey the following rule: a router should not advertise
* destinations learned from internal neighbors to external destinations unless those destinations are also known via some internal gateway
* protocol. Otherwise, a router may receive traffic that cannot yet be routed. However, since this is a costly choice, it is common practice to
* allow this rule to be broken under certain carefully controlled circumstances.
*
* @param boolean new requireIGPSync property value
* @exception Exception
*/
public void setRequireIGPSync(boolean requireIGPSync) {
this.requireIGPSync = requireIGPSync;
} // setRequireIGPSync
/**
* The following constants are defined for use with the ValueMap/Values qualified property RoutingUpdateSource.
*/
public enum RoutingUpdateSource {
UNKNOWN,
STATIC,
DYNAMIC,
SEMI_DYNAMIC
}
private RoutingUpdateSource routingUpdateSource;
/**
* This method returns the AutonomousSystem.routingUpdateSource property value. This property is described as follows:
*
* RoutingUpdateSource defines how routing information is to be injected. Statically injected routes are maintained by the routing table and are
* independent of the status of the networks to which they refer. This is done simply by defining static routes in the routing table. Dynamically
* injected routes are of two types. Dynamic routes refer to distributing all of the IGP routes. Semi-dynamic routes define a set of specific IGP
* routes that will be injected.
*
* @return int current routingUpdateSource property value
* @exception Exception
*/
public RoutingUpdateSource getRoutingUpdateSource() {
return this.routingUpdateSource;
} // getRoutingUpdateSource
/**
* This method sets the AutonomousSystem.routingUpdateSource property value. This property is described as follows:
*
* RoutingUpdateSource defines how routing information is to be injected. Statically injected routes are maintained by the routing table and are
* independent of the status of the networks to which they refer. This is done simply by defining static routes in the routing table. Dynamically
* injected routes are of two types. Dynamic routes refer to distributing all of the IGP routes. Semi-dynamic routes define a set of specific IGP
* routes that will be injected.
*
* @param int new routingUpdateSource property value
* @exception Exception
*/
public void setRoutingUpdateSource(RoutingUpdateSource
routingUpdateSource) {
this.routingUpdateSource = routingUpdateSource;
} // setRoutingUpdateSource
/**
* The following constants are defined for use with the ValueMap/Values qualified property AggregationType.
*/
public enum AggregationType {
UNKNOWN,
NONE,
AGGREGATE_ONLY,
AGGREGATE_AND_ALL_SPECIFIC_ROUTES,
AGGREGATE_BASED_ON_SUBSET_OF_SPECIFIC_ROUTES
}
private AggregationType aggregationType;
/**
* This method returns the AutonomousSystem.aggregationType property value. This property is described as follows:
*
* Route aggregation refers to summarizing ranges of routes into one or more aggregate routes. This is done to minimize the number of routes in
* the global routing table. A potential drawback is that specific path information (e.g., the Path attribute value) is lost, which may lead to
* potential routing loops. There are a variety of ways to ensure that this does not happen. Note that BGP4 is required to do this. There are many
* ways to form aggregate routes. The following are the most popular: 'Aggregate only', where only the aggregate is advertised, and all of its
* more specific routes are suppressed; 'Aggregate Plus Specific Routes', where both the aggregate as well as its more specific routes are
* advertised (e.g., send the aggregate to the NAP, but send the more specific routes to providers); 'Aggregate Based on a Subset of Specific
* Routes', where the aggregate route is formed by looking at certain more specific routes and forming an aggregate on them, suppressing all
* others.
*
* @return int current aggregationType property value
* @exception Exception
*/
public AggregationType getAggregationType() {
return this.aggregationType;
} // getAggregationType
/**
* This method sets the AutonomousSystem.aggregationType property value. This property is described as follows:
*
* Route aggregation refers to summarizing ranges of routes into one or more aggregate routes. This is done to minimize the number of routes in
* the global routing table. A potential drawback is that specific path information (e.g., the Path attribute value) is lost, which may lead to
* potential routing loops. There are a variety of ways to ensure that this does not happen. Note that BGP4 is required to do this. There are many
* ways to form aggregate routes. The following are the most popular: 'Aggregate only', where only the aggregate is advertised, and all of its
* more specific routes are suppressed; 'Aggregate Plus Specific Routes', where both the aggregate as well as its more specific routes are
* advertised (e.g., send the aggregate to the NAP, but send the more specific routes to providers); 'Aggregate Based on a Subset of Specific
* Routes', where the aggregate route is formed by looking at certain more specific routes and forming an aggregate on them, suppressing all
* others.
*
* @param int new aggregationType property value
* @exception Exception
*/
public void setAggregationType(AggregationType aggregationType) {
this.aggregationType = aggregationType;
} // setAggregationType
} // Class AutonomousSystem