summaryrefslogtreecommitdiff
path: root/src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java')
-rw-r--r--src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java231
1 files changed, 231 insertions, 0 deletions
diff --git a/src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java b/src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java
new file mode 100644
index 0000000..468dbc7
--- /dev/null
+++ b/src/plugins/installer/src/com/motorola/studio/android/installer/utilities/InstallableItem.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed 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 com.motorola.studio.android.installer.utilities;
+
+import java.util.List;
+
+public abstract class InstallableItem
+{
+ /**
+ * Example: IInstallableUnit iu
+ */
+ private Object data;
+
+ /**
+ * (will be the bundle_id in case of Eclipse installable components)
+ */
+ private String bundleID;
+
+ private Integer version;
+
+ private boolean isInstalled;
+
+ private String license;
+
+ private String displayName;
+
+ private String description;
+
+ private List<String> requirementsIds;
+
+ private int sizeInBytes;
+
+ private String provider;
+
+ private boolean canBeInstalled = true;
+
+ private String reasonNotToInstall = "";
+
+ public Object getData()
+ {
+ return data;
+ }
+
+ public void setData(Object data)
+ {
+ this.data = data;
+ }
+
+ public String getBundleID()
+ {
+ return bundleID;
+ }
+
+ public void setBundleID(String bundleID)
+ {
+ this.bundleID = bundleID;
+ }
+
+ public boolean isInstalled()
+ {
+ return isInstalled;
+ }
+
+ public void setInstalled(boolean isInstalled)
+ {
+ this.isInstalled = isInstalled;
+ }
+
+ public String getLicense()
+ {
+ return license;
+ }
+
+ public void setLicense(String license)
+ {
+ this.license = license;
+ }
+
+ public String getDisplayName()
+ {
+ return displayName;
+ }
+
+ public void setDisplayName(String displayName)
+ {
+ this.displayName = displayName;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ public List<String> getRequirementsIds()
+ {
+ return requirementsIds;
+ }
+
+ public void setRequirementsIds(List<String> requirementsIds)
+ {
+ this.requirementsIds = requirementsIds;
+ }
+
+ public int getSizeInBytes()
+ {
+ return sizeInBytes;
+ }
+
+ public void setSizeInBytes(int sizeInBytes)
+ {
+ this.sizeInBytes = sizeInBytes;
+ }
+
+ public String getProvider()
+ {
+ return provider;
+ }
+
+ public void setProvider(String provider)
+ {
+ this.provider = provider;
+ }
+
+ public Integer getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Integer version)
+ {
+ this.version = version;
+ }
+
+ /**
+ * @return true if any of the licenses are NOT accepted, false otherwise
+ */
+ public abstract boolean hasLicenseNotAccepted();
+
+ /**
+ * Do any action required after license is accepted
+ */
+ public abstract void acceptLicenses();
+
+ /**
+ * Gets the maximum buffer size for a reading using streams.
+ *
+ * @return Returns the maximum buffer size.
+ */
+ public abstract int getMaxBufferSize();
+
+ /**
+ * @param canBeInstalled the canBeInstalled to set
+ */
+ public void setCanBeInstalled(boolean canBeInstalled)
+ {
+ this.canBeInstalled = canBeInstalled;
+ }
+
+ /**
+ * @return the canBeInstalled
+ */
+ public boolean canBeInstalled()
+ {
+ return canBeInstalled;
+ }
+
+ /**
+ * @param reasonNotToInstall the reasonNotToInstall to set
+ */
+ public void setReasonNotToInstall(String reasonNotToInstall)
+ {
+ this.reasonNotToInstall = reasonNotToInstall;
+ }
+
+ /**
+ * @return the reasonNotToInstall
+ */
+ public String getReasonNotToInstall()
+ {
+ return reasonNotToInstall;
+ }
+
+ /**
+ * This method analyzes whether all pre-requirements have been
+ * fulfilled for this {@link InstallableItem}. In case it does,
+ * <code>true</code> is returned, otherwise <code>false</code>
+ * is given back.
+ *
+ * @return Returns <code>true</code> in case all pre-requirements
+ * have been fulfilled, <code>false</code> otherwise.
+ */
+ public abstract boolean hasPrerequirementsFulfilled();
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ return (obj != null) && (obj instanceof InstallableItem) && (this.bundleID != null)
+ && (((InstallableItem) obj).bundleID != null)
+ && this.bundleID.equals(((InstallableItem) obj).bundleID);
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ return bundleID != null ? bundleID.hashCode() : 3;
+ }
+}