/*
Copyright 2002-2006 The Members of the OSS through Java(TM) Initiative.
All rights reserved. Use is subject to license terms.
*/
package ossj.common.ex;

import ossj.common.AttributeManager;
import ossj.common.Utils;


/**
 * An implementation class for the <CODE>ossj.common.ex.AllMplsVpnServicesValue</CODE> interface.  
 * 
 * @see javax.oss.AttributeAccess
 * 
 * @see ossj.common.ex.AllMplsVpnServicesValue
 * 
 * @author OSS through Java(tm) Initiative, Vincent Perrot Sun Microsystems Inc.
 * @version 1.3 
 * @since January 2006 
 */


public class AllMplsVpnServicesValueImpl
extends ossj.common.NamedQueryValueImpl
implements AllMplsVpnServicesValue
{ 

    /**
     * Constructs a new AllMplsVpnServicesValueImpl with empty attributes.
     * 
     */

    public AllMplsVpnServicesValueImpl() {
        super();
        initAttributeTypes();
    }

    private static final String[] attributeNames = {
    };

    private static final String[] settableAttributeNames = {
    };

    //
    // Configuration of AttributeManager and AttributeAccess
    //
    protected void addAttributesTo(AttributeManager anAttributeManager) {
        if (AllMplsVpnServicesValueImpl.attributeNames != null) {
            anAttributeManager.addAttributes(this.attributeNames);
            super.addAttributesTo(anAttributeManager);
        }
    }

    protected void configureAttributes(AttributeManager anAttributeManager) {
        if (AllMplsVpnServicesValueImpl.settableAttributeNames != null) {
            anAttributeManager.setSettableAttributes(AllMplsVpnServicesValueImpl.settableAttributeNames);
            super.configureAttributes(anAttributeManager);
        }
    }

    /**
     * Holds the Attribute manager that manage the optional fields
    */
    private static AttributeManager attributemanager = null;

    protected AttributeManager getAttributeManager() {
        return attributemanager;
    }
    protected AttributeManager makeAttributeManager() {
        attributemanager = new AttributeManager();
        return attributemanager;
    }

    /**
     * Init the Map Attribute Name/Attribute Type
     * Init the enumeration Map
     */
    protected void initAttributeTypes(){
        String[] list = new String[1];
    }



    /**
     * Creates a new object of the same class and with the same contents as this object.
     * @return a clone of this instance.
    */
    public Object clone() {
        AllMplsVpnServicesValue val = null;
            val = (AllMplsVpnServicesValue)super.clone();

            return val;
    }

    /**
     * Checks whether two AllMplsVpnServicesValue are equal.
     * The result is true if and only if the argument is not null 
     * and is an AllMplsVpnServicesValue object that has the arguments.
     * 
     * @param value the Object to compare with this AllMplsVpnServicesValue
     * @return if the objects are equal; false otherwise.
     */

    public boolean equals (Object value) {
        if ( this == value ){ return true;}
        if ( (value != null) && ( value instanceof AllMplsVpnServicesValue)) {
            AllMplsVpnServicesValue argVal = (AllMplsVpnServicesValue) value;
            return Utils.compareAttributeAccess( this, argVal );
        }
        return false;
    }

}
