001/**
002 * Copyright 2013 John Ericksen
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *    http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.androidtransfuse.model.manifest;
017
018import javax.xml.bind.annotation.XmlAttribute;
019import javax.xml.bind.annotation.XmlElement;
020import java.util.ArrayList;
021import java.util.List;
022
023/**
024 * attributes:
025 * android:authorities="list"
026 * android:enabled=["true" | "false"]
027 * android:exported=["true" | "false"]
028 * android:grantUriPermissions=["true" | "false"]
029 * android:icon="drawable resource"
030 * android:initOrder="integer"
031 * android:label="string resource"
032 * android:multiprocess=["true" | "false"]
033 * android:name="string"
034 * android:permission="string"
035 * android:process="string"
036 * android:readPermission="string"
037 * android:syncable=["true" | "false"]
038 * android:writePermission="string"
039 * <p/>
040 * can contain:
041 * <meta-data>
042 * <grant-uri-permission>
043 * <path-permission>
044 *
045 * @author John Ericksen
046 */
047public class Provider extends ManifestBase {
048
049    private String authorities;
050    private Boolean enabled;
051    private Boolean exported;
052    private Boolean grantUriPermissions;
053    private String icon;
054    private Integer initOrder;
055    private String label;
056    private Boolean multiprocess;
057    private String name;
058    private String permission;
059    private String process;
060    private String readPermission;
061    private Boolean syncable;
062    private String writePermission;
063    private List<MetaData> metaData = new ArrayList<MetaData>();
064    private List<GrantUriPermission> grantUriPermissionList = new ArrayList<GrantUriPermission>();
065    private List<PathPermission> pathPermissions = new ArrayList<PathPermission>();
066
067    @XmlAttribute(name = "authorities", namespace = ManifestNamespaceMapper.ANDROID_URI)
068    public String getAuthorities() {
069        return authorities;
070    }
071
072    public void setAuthorities(String authorities) {
073        this.authorities = authorities;
074    }
075
076    @XmlAttribute(name = "enabled", namespace = ManifestNamespaceMapper.ANDROID_URI)
077    public Boolean getEnabled() {
078        return enabled;
079    }
080
081    public void setEnabled(Boolean enabled) {
082        this.enabled = enabled;
083    }
084
085    @XmlAttribute(name = "exported", namespace = ManifestNamespaceMapper.ANDROID_URI)
086    public Boolean getExported() {
087        return exported;
088    }
089
090    public void setExported(Boolean exported) {
091        this.exported = exported;
092    }
093
094    @XmlAttribute(name = "grantUriPermissions", namespace = ManifestNamespaceMapper.ANDROID_URI)
095    public Boolean getGrantUriPermissions() {
096        return grantUriPermissions;
097    }
098
099    public void setGrantUriPermissions(Boolean grantUriPermissions) {
100        this.grantUriPermissions = grantUriPermissions;
101    }
102
103    @XmlAttribute(name = "icon", namespace = ManifestNamespaceMapper.ANDROID_URI)
104    public String getIcon() {
105        return icon;
106    }
107
108    public void setIcon(String icon) {
109        this.icon = icon;
110    }
111
112    @XmlAttribute(name = "initOrder", namespace = ManifestNamespaceMapper.ANDROID_URI)
113    public Integer getInitOrder() {
114        return initOrder;
115    }
116
117    public void setInitOrder(Integer initOrder) {
118        this.initOrder = initOrder;
119    }
120
121    @XmlAttribute(name = "label", namespace = ManifestNamespaceMapper.ANDROID_URI)
122    public String getLabel() {
123        return label;
124    }
125
126    public void setLabel(String label) {
127        this.label = label;
128    }
129
130    @XmlAttribute(name = "multiprocess", namespace = ManifestNamespaceMapper.ANDROID_URI)
131    public Boolean getMultiprocess() {
132        return multiprocess;
133    }
134
135    public void setMultiprocess(Boolean multiprocess) {
136        this.multiprocess = multiprocess;
137    }
138
139    @XmlAttribute(name = "name", namespace = ManifestNamespaceMapper.ANDROID_URI)
140    public String getName() {
141        return name;
142    }
143
144    public void setName(String name) {
145        this.name = name;
146    }
147
148    @XmlAttribute(name = "permission", namespace = ManifestNamespaceMapper.ANDROID_URI)
149    public String getPermission() {
150        return permission;
151    }
152
153    public void setPermission(String permission) {
154        this.permission = permission;
155    }
156
157    @XmlAttribute(name = "process", namespace = ManifestNamespaceMapper.ANDROID_URI)
158    public String getProcess() {
159        return process;
160    }
161
162    public void setProcess(String process) {
163        this.process = process;
164    }
165
166    @XmlAttribute(name = "readPermission", namespace = ManifestNamespaceMapper.ANDROID_URI)
167    public String getReadPermission() {
168        return readPermission;
169    }
170
171    public void setReadPermission(String readPermission) {
172        this.readPermission = readPermission;
173    }
174
175    @XmlAttribute(name = "syncable", namespace = ManifestNamespaceMapper.ANDROID_URI)
176    public Boolean getSyncable() {
177        return syncable;
178    }
179
180    public void setSyncable(Boolean syncable) {
181        this.syncable = syncable;
182    }
183
184    @XmlAttribute(name = "writePermission", namespace = ManifestNamespaceMapper.ANDROID_URI)
185    public String getWritePermission() {
186        return writePermission;
187    }
188
189    public void setWritePermission(String writePermission) {
190        this.writePermission = writePermission;
191    }
192
193    @XmlElement(name = "meta-data")
194    public List<MetaData> getMetaData() {
195        return metaData;
196    }
197
198    public void setMetaData(List<MetaData> metaData) {
199        this.metaData = metaData;
200    }
201
202    @XmlElement(name = "grant-uri-permission")
203    public List<GrantUriPermission> getGrantUriPermissionList() {
204        return grantUriPermissionList;
205    }
206
207    public void setGrantUriPermissionList(List<GrantUriPermission> grantUriPermissionList) {
208        this.grantUriPermissionList = grantUriPermissionList;
209    }
210
211    @XmlElement(name = "path-permission")
212    public List<PathPermission> getPathPermissions() {
213        return pathPermissions;
214    }
215
216    public void setPathPermissions(List<PathPermission> pathPermissions) {
217        this.pathPermissions = pathPermissions;
218    }
219}