/*
* JBoss, Home of Professional Open Source
* Copyright 2011, Red Hat, Inc. and/or its affiliates, and individual
* contributors as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a full listing
* of individual contributors.
*
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU General Public License, v. 2.0.
*
* This program 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
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License,
* v. 2.0 along with this distribution; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
package org.mobicents.protocols.ss7.map.service.lsm;
import org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes;
import org.mobicents.protocols.ss7.map.primitives.BitStringBase;
/**
* @author amit bhayani
*
*/
public class SupportedGADShapesImpl extends BitStringBase implements SupportedGADShapes {
private static final int _INDEX_ELLIPSOID_POINT = 0;
private static final int _INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_CIRCLE = 1;
private static final int _INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_ELLIPSE = 2;
private static final int _INDEX_POLYGON = 3;
private static final int _INDEX_ELLIPSOID_POINT_WITH_ALTITUDE = 4;
private static final int _INDEX_ELLIPSOID_WITH_ALTITUDE_AND_UNCERTAINTY_ELIPSOID = 5;
private static final int _INDEX_ELLIPSOID_ARC = 6;
public SupportedGADShapesImpl() {
super(7, 16, 7, "SupportedGADShapes");
}
public SupportedGADShapesImpl(boolean ellipsoidPoint, boolean ellipsoidPointWithUncertaintyCircle,
boolean ellipsoidPointWithUncertaintyEllipse, boolean polygon, boolean ellipsoidPointWithAltitude,
boolean ellipsoidPointWithAltitudeAndUncertaintyElipsoid, boolean ellipsoidArc) {
super(7, 16, 7, "SupportedGADShapes");
if (ellipsoidPoint)
this.bitString.set(_INDEX_ELLIPSOID_POINT);
if (ellipsoidPointWithUncertaintyCircle)
this.bitString.set(_INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_CIRCLE);
if (ellipsoidPointWithUncertaintyEllipse)
this.bitString.set(_INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_ELLIPSE);
if (polygon)
this.bitString.set(_INDEX_POLYGON);
if (ellipsoidPointWithAltitude)
this.bitString.set(_INDEX_ELLIPSOID_POINT_WITH_ALTITUDE);
if (ellipsoidPointWithAltitudeAndUncertaintyElipsoid)
this.bitString.set(_INDEX_ELLIPSOID_WITH_ALTITUDE_AND_UNCERTAINTY_ELIPSOID);
if (ellipsoidArc)
this.bitString.set(_INDEX_ELLIPSOID_ARC);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes# getEllipsoidPoint()
*/
public boolean getEllipsoidPoint() {
return this.bitString.get(_INDEX_ELLIPSOID_POINT);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes# getEllipsoidPointWithUncertaintyCircle()
*/
public boolean getEllipsoidPointWithUncertaintyCircle() {
return this.bitString.get(_INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_CIRCLE);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes# getEllipsoidPointWithUncertaintyEllipse()
*/
public boolean getEllipsoidPointWithUncertaintyEllipse() {
return this.bitString.get(_INDEX_ELLIPSOID_POINT_WITH_UNCERTAINTY_ELLIPSE);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes#getPolygon ()
*/
public boolean getPolygon() {
return this.bitString.get(_INDEX_POLYGON);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes# getEllipsoidPointWithAltitude()
*/
public boolean getEllipsoidPointWithAltitude() {
return this.bitString.get(_INDEX_ELLIPSOID_POINT_WITH_ALTITUDE);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes#
* getEllipsoidPointWithAltitudeAndUncertaintyElipsoid()
*/
public boolean getEllipsoidPointWithAltitudeAndUncertaintyElipsoid() {
return this.bitString.get(_INDEX_ELLIPSOID_WITH_ALTITUDE_AND_UNCERTAINTY_ELIPSOID);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.protocols.ss7.map.api.service.lsm.SupportedGADShapes# getEllipsoidArc()
*/
public boolean getEllipsoidArc() {
return this.bitString.get(_INDEX_ELLIPSOID_ARC);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(_PrimitiveName);
sb.append(" [");
if (this.getEllipsoidPoint()) {
sb.append("ellipsoidPoint");
}
if (this.getEllipsoidPointWithUncertaintyCircle()) {
sb.append(", ellipsoidPointWithUncertaintyCircle");
}
if (this.getEllipsoidPointWithUncertaintyEllipse()) {
sb.append(", ellipsoidPointWithUncertaintyEllipse");
}
if (this.getPolygon()) {
sb.append(", polygon");
}
if (this.getEllipsoidPointWithAltitude()) {
sb.append(", ellipsoidPointWithAltitude");
}
if (this.getEllipsoidPointWithAltitudeAndUncertaintyElipsoid()) {
sb.append(", ellipsoidPointWithAltitudeAndUncertaintyElipsoid");
}
if (this.getEllipsoidArc()) {
sb.append(", ellipsoidArc");
}
sb.append("]");
return sb.toString();
}
}