/*
* TeleStax, Open Source Cloud Communications Copyright 2012.
* and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.mobicents.protocols.ss7.map.service.mobility.subscriberManagement;
import org.mobicents.protocols.ss7.map.api.service.mobility.subscriberManagement.ODBGeneralData;
import org.mobicents.protocols.ss7.map.primitives.BitStringBase;
/**
*
* @author Lasith Waruna Perera
*
*/
public class ODBGeneralDataImpl extends BitStringBase implements ODBGeneralData {
private static final int _INDEX_allOGCallsBarred = 0;
private static final int _INDEX_internationalOGCallsBarred = 1;
private static final int _INDEX_internationalOGCallsNotToHPLMNCountryBarred = 2;
private static final int _INDEX_interzonalOGCallsBarred = 6;
private static final int _INDEX_interzonalOGCallsNotToHPLMNCountryBarred = 7;
private static final int _INDEX_interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred = 8;
private static final int _INDEX_premiumRateInformationOGCallsBarred = 3;
private static final int _INDEX_premiumRateEntertainementOGCallsBarred = 4;
private static final int _INDEX_ssAccessBarred = 5;
private static final int _INDEX_allECTBarred = 9;
private static final int _INDEX_chargeableECTBarred = 10;
private static final int _INDEX_internationalECTBarred = 11;
private static final int _INDEX_interzonalECTBarred = 12;
private static final int _INDEX_doublyChargeableECTBarred = 13;
private static final int _INDEX_multipleECTBarred = 14;
private static final int _INDEX_allPacketOrientedServicesBarred = 15;
private static final int _INDEX_roamerAccessToHPLMNAPBarred = 16;
private static final int _INDEX_roamerAccessToVPLMNAPBarred = 17;
private static final int _INDEX_roamingOutsidePLMNOGCallsBarred = 18;
private static final int _INDEX_allICCallsBarred = 19;
private static final int _INDEX_roamingOutsidePLMNICCallsBarred = 20;
private static final int _INDEX_roamingOutsidePLMNICountryICCallsBarred = 21;
private static final int _INDEX_roamingOutsidePLMNBarred = 22;
private static final int _INDEX_roamingOutsidePLMNCountryBarred = 23;
private static final int _INDEX_registrationAllCFBarred = 24;
private static final int _INDEX_registrationCFNotToHPLMNBarred = 25;
private static final int _INDEX_registrationInterzonalCFBarred = 26;
private static final int _INDEX_registrationInterzonalCFNotToHPLMNBarred = 27;
private static final int _INDEX_registrationInternationalCFBarred = 28;
public ODBGeneralDataImpl() {
super(8, 32, 29, "ODBGeneralData");
// we make here 8 minimum bit size instead of 15
// because of some trace data contains 1-byte length primitive
}
public ODBGeneralDataImpl(boolean allOGCallsBarred, boolean internationalOGCallsBarred,
boolean internationalOGCallsNotToHPLMNCountryBarred, boolean interzonalOGCallsBarred,
boolean interzonalOGCallsNotToHPLMNCountryBarred,
boolean interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred,
boolean premiumRateInformationOGCallsBarred, boolean premiumRateEntertainementOGCallsBarred,
boolean ssAccessBarred, boolean allECTBarred, boolean chargeableECTBarred, boolean internationalECTBarred,
boolean interzonalECTBarred, boolean doublyChargeableECTBarred, boolean multipleECTBarred,
boolean allPacketOrientedServicesBarred, boolean roamerAccessToHPLMNAPBarred, boolean roamerAccessToVPLMNAPBarred,
boolean roamingOutsidePLMNOGCallsBarred, boolean allICCallsBarred, boolean roamingOutsidePLMNICCallsBarred,
boolean roamingOutsidePLMNICountryICCallsBarred, boolean roamingOutsidePLMNBarred,
boolean roamingOutsidePLMNCountryBarred, boolean registrationAllCFBarred, boolean registrationCFNotToHPLMNBarred,
boolean registrationInterzonalCFBarred, boolean registrationInterzonalCFNotToHPLMNBarred,
boolean registrationInternationalCFBarred) {
super(8, 32, 29, "ODBGeneralData");
if (allOGCallsBarred)
this.bitString.set(_INDEX_allOGCallsBarred);
if (internationalOGCallsBarred)
this.bitString.set(_INDEX_internationalOGCallsBarred);
if (internationalOGCallsNotToHPLMNCountryBarred)
this.bitString.set(_INDEX_internationalOGCallsNotToHPLMNCountryBarred);
if (interzonalOGCallsBarred)
this.bitString.set(_INDEX_interzonalOGCallsBarred);
if (interzonalOGCallsNotToHPLMNCountryBarred)
this.bitString.set(_INDEX_interzonalOGCallsNotToHPLMNCountryBarred);
if (interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred)
this.bitString.set(_INDEX_interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred);
if (premiumRateInformationOGCallsBarred)
this.bitString.set(_INDEX_premiumRateInformationOGCallsBarred);
if (premiumRateEntertainementOGCallsBarred)
this.bitString.set(_INDEX_premiumRateEntertainementOGCallsBarred);
if (ssAccessBarred)
this.bitString.set(_INDEX_ssAccessBarred);
if (allECTBarred)
this.bitString.set(_INDEX_allECTBarred);
if (chargeableECTBarred)
this.bitString.set(_INDEX_chargeableECTBarred);
if (internationalECTBarred)
this.bitString.set(_INDEX_internationalECTBarred);
if (interzonalECTBarred)
this.bitString.set(_INDEX_interzonalECTBarred);
if (doublyChargeableECTBarred)
this.bitString.set(_INDEX_doublyChargeableECTBarred);
if (multipleECTBarred)
this.bitString.set(_INDEX_multipleECTBarred);
if (allPacketOrientedServicesBarred)
this.bitString.set(_INDEX_allPacketOrientedServicesBarred);
if (roamerAccessToHPLMNAPBarred)
this.bitString.set(_INDEX_roamerAccessToHPLMNAPBarred);
if (roamerAccessToVPLMNAPBarred)
this.bitString.set(_INDEX_roamerAccessToVPLMNAPBarred);
if (roamingOutsidePLMNOGCallsBarred)
this.bitString.set(_INDEX_roamingOutsidePLMNOGCallsBarred);
if (allICCallsBarred)
this.bitString.set(_INDEX_allICCallsBarred);
if (roamingOutsidePLMNICCallsBarred)
this.bitString.set(_INDEX_roamingOutsidePLMNICCallsBarred);
if (roamingOutsidePLMNICountryICCallsBarred)
this.bitString.set(_INDEX_roamingOutsidePLMNICountryICCallsBarred);
if (roamingOutsidePLMNBarred)
this.bitString.set(_INDEX_roamingOutsidePLMNBarred);
if (roamingOutsidePLMNCountryBarred)
this.bitString.set(_INDEX_roamingOutsidePLMNCountryBarred);
if (registrationAllCFBarred)
this.bitString.set(_INDEX_registrationAllCFBarred);
if (registrationCFNotToHPLMNBarred)
this.bitString.set(_INDEX_registrationCFNotToHPLMNBarred);
if (registrationInterzonalCFBarred)
this.bitString.set(_INDEX_registrationInterzonalCFBarred);
if (registrationInterzonalCFNotToHPLMNBarred)
this.bitString.set(_INDEX_registrationInterzonalCFNotToHPLMNBarred);
if (registrationInternationalCFBarred)
this.bitString.set(_INDEX_registrationInternationalCFBarred);
}
@Override
public boolean getAllOGCallsBarred() {
return this.bitString.get(_INDEX_allOGCallsBarred);
}
@Override
public boolean getInternationalOGCallsBarred() {
return this.bitString.get(_INDEX_internationalOGCallsBarred);
}
@Override
public boolean getInternationalOGCallsNotToHPLMNCountryBarred() {
return this.bitString.get(_INDEX_internationalOGCallsNotToHPLMNCountryBarred);
}
@Override
public boolean getInterzonalOGCallsBarred() {
return this.bitString.get(_INDEX_interzonalOGCallsBarred);
}
@Override
public boolean getInterzonalOGCallsNotToHPLMNCountryBarred() {
return this.bitString.get(_INDEX_interzonalOGCallsNotToHPLMNCountryBarred);
}
@Override
public boolean getInterzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred() {
return this.bitString.get(_INDEX_interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred);
}
@Override
public boolean getPremiumRateInformationOGCallsBarred() {
return this.bitString.get(_INDEX_premiumRateInformationOGCallsBarred);
}
@Override
public boolean getPremiumRateEntertainementOGCallsBarred() {
return this.bitString.get(_INDEX_premiumRateEntertainementOGCallsBarred);
}
@Override
public boolean getSsAccessBarred() {
return this.bitString.get(_INDEX_ssAccessBarred);
}
@Override
public boolean getAllECTBarred() {
return this.bitString.get(_INDEX_allECTBarred);
}
@Override
public boolean getChargeableECTBarred() {
return this.bitString.get(_INDEX_chargeableECTBarred);
}
@Override
public boolean getInternationalECTBarred() {
return this.bitString.get(_INDEX_internationalECTBarred);
}
@Override
public boolean getInterzonalECTBarred() {
return this.bitString.get(_INDEX_interzonalECTBarred);
}
@Override
public boolean getDoublyChargeableECTBarred() {
return this.bitString.get(_INDEX_doublyChargeableECTBarred);
}
@Override
public boolean getMultipleECTBarred() {
return this.bitString.get(_INDEX_multipleECTBarred);
}
@Override
public boolean getAllPacketOrientedServicesBarred() {
return this.bitString.get(_INDEX_allPacketOrientedServicesBarred);
}
@Override
public boolean getRoamerAccessToHPLMNAPBarred() {
return this.bitString.get(_INDEX_roamerAccessToHPLMNAPBarred);
}
@Override
public boolean getRoamerAccessToVPLMNAPBarred() {
return this.bitString.get(_INDEX_roamerAccessToVPLMNAPBarred);
}
@Override
public boolean getRoamingOutsidePLMNOGCallsBarred() {
return this.bitString.get(_INDEX_roamingOutsidePLMNOGCallsBarred);
}
@Override
public boolean getAllICCallsBarred() {
return this.bitString.get(_INDEX_allICCallsBarred);
}
@Override
public boolean getRoamingOutsidePLMNICCallsBarred() {
return this.bitString.get(_INDEX_roamingOutsidePLMNICCallsBarred);
}
@Override
public boolean getRoamingOutsidePLMNICountryICCallsBarred() {
return this.bitString.get(_INDEX_roamingOutsidePLMNICountryICCallsBarred);
}
@Override
public boolean getRoamingOutsidePLMNBarred() {
return this.bitString.get(_INDEX_roamingOutsidePLMNBarred);
}
@Override
public boolean getRoamingOutsidePLMNCountryBarred() {
return this.bitString.get(_INDEX_roamingOutsidePLMNCountryBarred);
}
@Override
public boolean getRegistrationAllCFBarred() {
return this.bitString.get(_INDEX_registrationAllCFBarred);
}
@Override
public boolean getRegistrationCFNotToHPLMNBarred() {
return this.bitString.get(_INDEX_registrationCFNotToHPLMNBarred);
}
@Override
public boolean getRegistrationInterzonalCFBarred() {
return this.bitString.get(_INDEX_registrationInterzonalCFBarred);
}
@Override
public boolean getRegistrationInterzonalCFNotToHPLMNBarred() {
return this.bitString.get(_INDEX_registrationInterzonalCFNotToHPLMNBarred);
}
@Override
public boolean getRegistrationInternationalCFBarred() {
return this.bitString.get(_INDEX_registrationInternationalCFBarred);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("ODBGeneralData [");
if (getAllOGCallsBarred())
sb.append("allOGCallsBarred, ");
if (getInternationalOGCallsBarred())
sb.append("internationalOGCallsBarred, ");
if (getInternationalOGCallsNotToHPLMNCountryBarred())
sb.append("internationalOGCallsNotToHPLMNCountryBarred, ");
if (getInterzonalOGCallsBarred())
sb.append("interzonalOGCallsBarred, ");
if (getInterzonalOGCallsNotToHPLMNCountryBarred())
sb.append("interzonalOGCallsNotToHPLMNCountryBarred, ");
if (getInterzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred())
sb.append("interzonalOGCallsAndInternationalOGCallsNotToHPLMNCountryBarred, ");
if (getPremiumRateInformationOGCallsBarred())
sb.append("premiumRateInformationOGCallsBarred, ");
if (getPremiumRateEntertainementOGCallsBarred())
sb.append("premiumRateEntertainementOGCallsBarred, ");
if (getSsAccessBarred())
sb.append("ssAccessBarred, ");
if (getAllECTBarred())
sb.append("allECTBarred, ");
if (getChargeableECTBarred())
sb.append("chargeableECTBarred, ");
if (getInternationalECTBarred())
sb.append("internationalECTBarred, ");
if (getInterzonalECTBarred())
sb.append("interzonalECTBarred, ");
if (getDoublyChargeableECTBarred())
sb.append("doublyChargeableECTBarred, ");
if (getMultipleECTBarred())
sb.append("multipleECTBarred, ");
if (getAllPacketOrientedServicesBarred())
sb.append("allPacketOrientedServicesBarred, ");
if (getRoamerAccessToHPLMNAPBarred())
sb.append("roamerAccessToHPLMNAPBarred, ");
if (getRoamerAccessToVPLMNAPBarred())
sb.append("roamerAccessToVPLMNAPBarred, ");
if (getRoamingOutsidePLMNOGCallsBarred())
sb.append("roamingOutsidePLMNOGCallsBarred");
if (getAllICCallsBarred())
sb.append("allICCallsBarred, ");
if (getRoamingOutsidePLMNICCallsBarred())
sb.append("roamingOutsidePLMNICCallsBarred, ");
if (getRoamingOutsidePLMNICountryICCallsBarred())
sb.append("roamingOutsidePLMNICountryICCallsBarred, ");
if (getRoamingOutsidePLMNBarred())
sb.append("roamingOutsidePLMNBarred, ");
if (getRoamingOutsidePLMNCountryBarred())
sb.append("roamingOutsidePLMNCountryBarred, ");
if (getRegistrationAllCFBarred())
sb.append("registrationAllCFBarred, ");
if (getRegistrationCFNotToHPLMNBarred())
sb.append("registrationCFNotToHPLMNBarred, ");
if (getRegistrationInterzonalCFBarred())
sb.append("registrationInterzonalCFBarred, ");
if (getRegistrationInterzonalCFNotToHPLMNBarred())
sb.append("registrationInterzonalCFNotToHPLMNBarred, ");
if (getRegistrationInternationalCFBarred())
sb.append("registrationInternationalCFBarred, ");
sb.append("]");
return sb.toString();
}
}