view com.redhat.thermostat.tools.eclipse.plugin/src/com/redhat/thermostat/tools/eclipse/plugin/model/Extension.java @ 90:8f2dd0dbdb87

Externalize strings
author Omair Majid <omajid@redhat.com>
date Tue, 21 Jan 2014 19:51:04 -0500
parents b788a26c0d4d
children
line wrap: on
line source

package com.redhat.thermostat.tools.eclipse.plugin.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlType;

@XmlType(propOrder = {"name", "bundles"})
public class Extension extends ModelObject {

    private String name;

    private List<Bundle> bundles;

    public Extension() {
        bundles = new ArrayList<>();
    }

    public Extension(String name, List<Bundle> bundles) {
        this.name = name;
        this.bundles = bundles;
    }

    @XmlElement(name="name")
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        firePropertyChange("name", this.name, this.name = name); //$NON-NLS-1$
    }

    /** Do not modify the returned list */
    @XmlElementWrapper(name="bundles")
    @XmlElement(name="bundle")
    public List<Bundle> getBundles() {
        return this.bundles;
    }

    public void setBundles(List<Bundle> bundles) {
        firePropertyChange("bundles", this.bundles, this.bundles = bundles); //$NON-NLS-1$
    }

    public void addBundle(Bundle bundle) {
        bundles.add(bundle);
        firePropertyChange("bundles", null, bundles); //$NON-NLS-1$
    }

    public void removeBundle(Bundle bundle) {
        bundles.remove(bundle);
        firePropertyChange("bundles", null, bundles); //$NON-NLS-1$
    }

    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof Extension)) {
            return false;
        }
        Extension other = (Extension) obj;
        return Objects.equals(this.name, other.name) && Objects.equals(this.bundles, other.bundles);
    }

}