/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.karaf.features.internal.model;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import org.apache.karaf.features.BundleInfo;
/**
* <p>Deployable element to install.</p>
*
* <p>Java class for bundle complex type.</p>
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>
* <complexType name="bundle">
* <simpleContent>
* <extension base="<http://www.w3.org/2001/XMLSchema>anyURI">
* <attribute name="start-level" type="{http://www.w3.org/2001/XMLSchema}int" />
* <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* <attribute name="dependency" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* </extension>
* </simpleContent>
* </complexType>
* </pre>
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "bundle", propOrder = {
"value"
})
public class Bundle implements BundleInfo {
@XmlValue
@XmlSchemaType(name = "anyURI")
protected String value;
@XmlAttribute(name = "start-level")
protected Integer startLevel;
@XmlAttribute
protected Boolean start; // = true;
@XmlAttribute
protected Boolean dependency;
public Bundle() {
}
public Bundle(String value) {
this.value = value;
}
/**
* Gets the value of the value property.
*
* @return possible object is
* {@link String }
*/
public String getLocation() {
return value.trim();
}
/**
* Sets the value of the value property.
*
* @param value allowed object is
* {@link String }
*/
public void setLocation(String value) {
this.value = value;
}
/**
* Gets the value of the startLevel property.
*
* @return possible object is
* {@link Integer }
*/
public int getStartLevel() {
return startLevel == null ? 0 : startLevel;
}
/**
* Sets the value of the startLevel property.
*
* @param value allowed object is
* {@link Integer }
*/
public void setStartLevel(Integer value) {
this.startLevel = value;
}
/**
* Gets the value of the start property.
*
* @return possible object is
* {@link Boolean }
*/
public boolean isStart() {
return start == null ? true : start;
}
/**
* Sets the value of the start property.
*
* @param value allowed object is
* {@link Boolean }
*/
public void setStart(Boolean value) {
this.start = value;
}
/**
* Gets the value of the dependency property.
*
* @return possible object is
* {@link Boolean }
*/
public boolean isDependency() {
return dependency == null ? false : dependency;
}
/**
* Sets the value of the dependency property.
*
* @param value allowed object is
* {@link Boolean }
*/
public void setDependency(Boolean value) {
this.dependency = value;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Bundle bundle = (Bundle) o;
if (dependency != bundle.dependency) {
return false;
}
if (start != bundle.start) {
return false;
}
if ((startLevel != null ? startLevel : 0) != (bundle.startLevel != null ? bundle.startLevel : 0)) {
return false;
}
if (value != null ? !value.equals(bundle.value) : bundle.value != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = value != null ? value.hashCode() : 0;
result = 31 * result + getStartLevel();
result = 31 * result + (isStart() ? 1 : 0);
result = 31 * result + (isDependency() ? 1 : 0);
return result;
}
}