001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: /**
042: * This generated bean class FileChanged
043: * matches the schema element '_file-changed'.
044: *
045: * Generated on Mon Sep 27 16:53:12 PDT 2004
046: */package org.netbeans.modules.collab.channel.filesharing.msgbean;
047:
048: public class FileChanged {
049: private FileGroups _FileGroups;
050: private java.util.List _FileChangedData = new java.util.ArrayList(); // List<FileChangedData>
051:
052: public FileChanged() {
053: _FileGroups = new FileGroups();
054: }
055:
056: // Deep copy
057: public FileChanged(
058: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChanged source) {
059: _FileGroups = new org.netbeans.modules.collab.channel.filesharing.msgbean.FileGroups(
060: source._FileGroups);
061:
062: for (java.util.Iterator it = source._FileChangedData.iterator(); it
063: .hasNext();) {
064: _FileChangedData
065: .add(new org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData(
066: (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData) it
067: .next()));
068: }
069: }
070:
071: // This attribute is mandatory
072: public void setFileGroups(
073: org.netbeans.modules.collab.channel.filesharing.msgbean.FileGroups value) {
074: _FileGroups = value;
075: }
076:
077: public org.netbeans.modules.collab.channel.filesharing.msgbean.FileGroups getFileGroups() {
078: return _FileGroups;
079: }
080:
081: // This attribute is an array containing at least one element
082: public void setFileChangedData(
083: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData[] value) {
084: if (value == null) {
085: value = new FileChangedData[0];
086: }
087:
088: _FileChangedData.clear();
089:
090: for (int i = 0; i < value.length; ++i) {
091: _FileChangedData.add(value[i]);
092: }
093: }
094:
095: public void setFileChangedData(
096: int index,
097: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData value) {
098: _FileChangedData.set(index, value);
099: }
100:
101: public org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData[] getFileChangedData() {
102: FileChangedData[] arr = new FileChangedData[_FileChangedData
103: .size()];
104:
105: return (FileChangedData[]) _FileChangedData.toArray(arr);
106: }
107:
108: public java.util.List fetchFileChangedDataList() {
109: return _FileChangedData;
110: }
111:
112: public org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData getFileChangedData(
113: int index) {
114: return (FileChangedData) _FileChangedData.get(index);
115: }
116:
117: // Return the number of fileChangedData
118: public int sizeFileChangedData() {
119: return _FileChangedData.size();
120: }
121:
122: public int addFileChangedData(
123: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData value) {
124: _FileChangedData.add(value);
125:
126: return _FileChangedData.size() - 1;
127: }
128:
129: // Search from the end looking for @param value, and then remove it.
130: public int removeFileChangedData(
131: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData value) {
132: int pos = _FileChangedData.indexOf(value);
133:
134: if (pos >= 0) {
135: _FileChangedData.remove(pos);
136: }
137:
138: return pos;
139: }
140:
141: public void writeNode(java.io.Writer out, String nodeName,
142: String indent) throws java.io.IOException {
143: out.write(indent);
144: out.write("<");
145: out.write(nodeName);
146: out.write(">\n");
147:
148: String nextIndent = indent + " ";
149:
150: if (_FileGroups != null) {
151: _FileGroups.writeNode(out, "file-groups", nextIndent);
152: }
153:
154: for (java.util.Iterator it = _FileChangedData.iterator(); it
155: .hasNext();) {
156: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData element = (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData) it
157: .next();
158:
159: if (element != null) {
160: element.writeNode(out, "file-changed-data", nextIndent);
161: }
162: }
163:
164: out.write(indent);
165: out.write("</" + nodeName + ">\n");
166: }
167:
168: public void readNode(org.w3c.dom.Node node) {
169: org.w3c.dom.NodeList children = node.getChildNodes();
170:
171: for (int i = 0, size = children.getLength(); i < size; ++i) {
172: org.w3c.dom.Node childNode = children.item(i);
173: String childNodeName = ((childNode.getLocalName() == null) ? childNode
174: .getNodeName().intern()
175: : childNode.getLocalName().intern());
176: String childNodeValue = "";
177:
178: if (childNode.getFirstChild() != null) {
179: childNodeValue = childNode.getFirstChild()
180: .getNodeValue();
181: }
182:
183: if (childNodeName == "file-groups") {
184: _FileGroups = new org.netbeans.modules.collab.channel.filesharing.msgbean.FileGroups();
185: _FileGroups.readNode(childNode);
186: } else if (childNodeName == "file-changed-data") {
187: FileChangedData aFileChangedData = new org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData();
188: aFileChangedData.readNode(childNode);
189: _FileChangedData.add(aFileChangedData);
190: } else {
191: // Found extra unrecognized childNode
192: }
193: }
194: }
195:
196: public void changePropertyByName(String name, Object value) {
197: if (name == null) {
198: return;
199: }
200:
201: name = name.intern();
202:
203: if (name == "fileGroups") {
204: setFileGroups((FileGroups) value);
205: } else if (name == "fileChangedData") {
206: addFileChangedData((FileChangedData) value);
207: } else if (name == "fileChangedData[]") {
208: setFileChangedData((FileChangedData[]) value);
209: } else {
210: throw new IllegalArgumentException(name
211: + " is not a valid property name for FileChanged");
212: }
213: }
214:
215: public Object fetchPropertyByName(String name) {
216: if (name == "fileGroups") {
217: return getFileGroups();
218: }
219:
220: if (name == "fileChangedData[]") {
221: return getFileChangedData();
222: }
223:
224: throw new IllegalArgumentException(name
225: + " is not a valid property name for FileChanged");
226: }
227:
228: // Return an array of all of the properties that are beans and are set.
229: public java.lang.Object[] childBeans(boolean recursive) {
230: java.util.List children = new java.util.LinkedList();
231: childBeans(recursive, children);
232:
233: java.lang.Object[] result = new java.lang.Object[children
234: .size()];
235:
236: return (java.lang.Object[]) children.toArray(result);
237: }
238:
239: // Put all child beans into the beans list.
240: public void childBeans(boolean recursive, java.util.List beans) {
241: if (_FileGroups != null) {
242: if (recursive) {
243: _FileGroups.childBeans(true, beans);
244: }
245:
246: beans.add(_FileGroups);
247: }
248:
249: for (java.util.Iterator it = _FileChangedData.iterator(); it
250: .hasNext();) {
251: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData element = (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData) it
252: .next();
253:
254: if (element != null) {
255: if (recursive) {
256: element.childBeans(true, beans);
257: }
258:
259: beans.add(element);
260: }
261: }
262: }
263:
264: public boolean equals(Object o) {
265: if (o == this ) {
266: return true;
267: }
268:
269: if (!(o instanceof org.netbeans.modules.collab.channel.filesharing.msgbean.FileChanged)) {
270: return false;
271: }
272:
273: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChanged inst = (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChanged) o;
274:
275: if (!((_FileGroups == null) ? (inst._FileGroups == null)
276: : _FileGroups.equals(inst._FileGroups))) {
277: return false;
278: }
279:
280: if (sizeFileChangedData() != inst.sizeFileChangedData()) {
281: return false;
282: }
283:
284: // Compare every element.
285: for (java.util.Iterator it = _FileChangedData.iterator(), it2 = inst._FileChangedData
286: .iterator(); it.hasNext() && it2.hasNext();) {
287: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData element = (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData) it
288: .next();
289: org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData element2 = (org.netbeans.modules.collab.channel.filesharing.msgbean.FileChangedData) it2
290: .next();
291:
292: if (!((element == null) ? (element2 == null) : element
293: .equals(element2))) {
294: return false;
295: }
296: }
297:
298: return true;
299: }
300:
301: public int hashCode() {
302: int result = 17;
303: result = (37 * result)
304: + ((_FileGroups == null) ? 0 : _FileGroups.hashCode());
305: result = (37 * result)
306: + ((_FileChangedData == null) ? 0 : _FileChangedData
307: .hashCode());
308:
309: return result;
310: }
311: }
312:
313: /*
314: The following schema file has been used for generation:
315:
316: <?xml version="1.0" encoding="UTF-8"?>
317: <!--
318: Document : collab.xsd
319: Created on : May 21, 2004, 7:45 PM
320: Author : Ayub Khan
321: Description:
322: Purpose of the document follows.
323: -->
324: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
325: targetNamespace="http://sun.com/ns/collab/dev/1_0/filesharing"
326: xmlns:c="http://sun.com/ns/collab/dev/1_0"
327: xmlns:ch="http://sun.com/ns/collab/dev/1_0/filesharing"
328: elementFormDefault="qaulified">
329:
330: <!-- collab element -->
331: <xsd:element name="c:collab" type="_collab">
332: </xsd:element>
333:
334: <xsd:complexType name="_collab">
335: <xsd:sequence>
336: <xsd:element name="version" type="xsd:string"
337: minOccurs="1" maxOccurs="1"/>
338: <xsd:choice maxOccurs="1">
339: <xsd:element name="ch:send-file" type="_send-file"
340: minOccurs="0" maxOccurs="1"/>
341: <xsd:element name="ch:file-changed" type="_file-changed"
342: minOccurs="0" maxOccurs="1"/>
343: <xsd:element name="ch:lock-region" type="_lock-region"
344: minOccurs="0" maxOccurs="1"/>
345: <xsd:element name="ch:unlock-region" type="_unlock-region"
346: minOccurs="0" maxOccurs="1"/>
347: <xsd:element name="ch:join-filesharing" type="_join-filesharing"
348: minOccurs="0" maxOccurs="1"/>
349: <xsd:element name="ch:pause-filesharing" type="_pause-filesharing"
350: minOccurs="0" maxOccurs="1"/>
351: <xsd:element name="ch:resume-filesharing" type="_resume-filesharing"
352: minOccurs="0" maxOccurs="1"/>
353: <xsd:element name="ch:leave-filesharing" type="_leave-filesharing"
354: minOccurs="0" maxOccurs="1"/>
355: <xsd:element name="ch:commands" type="_commands"
356: minOccurs="0" maxOccurs="1"/>
357: </xsd:choice>
358: </xsd:sequence>
359: </xsd:complexType>
360:
361: <!-- Schema for send-file -->
362: <xsd:complexType name="_send-file">
363: <xsd:sequence>
364: <xsd:element name="file-groups" type="_file-groups"
365: minOccurs="1" maxOccurs="1"/>
366: <xsd:element name="send-file-data" type="_send-file-data"
367: minOccurs="1" maxOccurs="unbounded"/>
368: </xsd:sequence>
369: </xsd:complexType>
370:
371: <!-- Schema for file-changed -->
372: <xsd:complexType name="_file-changed">
373: <xsd:sequence>
374: <xsd:element name="file-groups" type="_file-groups"
375: minOccurs="1" maxOccurs="1"/>
376: <xsd:element name="file-changed-data" type="_file-changed-data"
377: minOccurs="1" maxOccurs="unbounded"/>
378: </xsd:sequence>
379: </xsd:complexType>
380:
381: <!-- Schema for lock-region -->
382: <xsd:complexType name="_lock-region">
383: <xsd:sequence>
384: <xsd:element name="file-groups" type="_file-groups"
385: minOccurs="1" maxOccurs="1"/>
386: <xsd:element name="lock-region-data" type="_lock-region-data"
387: minOccurs="1" maxOccurs="unbounded"/>
388: </xsd:sequence>
389: </xsd:complexType>
390:
391: <!-- Schema for unlock-region -->
392: <xsd:complexType name="_unlock-region">
393: <xsd:sequence>
394: <xsd:element name="file-groups" type="_file-groups"
395: minOccurs="1" maxOccurs="1"/>
396: <xsd:element name="unlock-region-data" type="_unlock-region-data"
397: minOccurs="1" maxOccurs="unbounded"/>
398: </xsd:sequence>
399: </xsd:complexType>
400:
401: <!-- Schema for join filesharing -->
402: <xsd:complexType name="_join-filesharing">
403: <xsd:sequence>
404: <xsd:choice maxOccurs="1">
405: <xsd:element name="begin-join"
406: minOccurs="0" maxOccurs="1"/>
407: <xsd:element name="end-join"
408: minOccurs="0" maxOccurs="1"/>
409: </xsd:choice>
410: <xsd:element name="user" type="_user"
411: minOccurs="1" maxOccurs="1"/>
412: </xsd:sequence>
413: </xsd:complexType>
414:
415: <!-- Schema for pause filesharing -->
416: <xsd:complexType name="_pause-filesharing">
417: <xsd:sequence>
418: <xsd:element name="join-user" type="_join-user"
419: minOccurs="1" maxOccurs="1"/>
420: <xsd:element name="moderator" type="_moderator"
421: minOccurs="1" maxOccurs="1"/>
422: <xsd:element name="file-owners" type="_file-owners"
423: minOccurs="1" maxOccurs="1"/>
424: <xsd:element name="users" type="_users"
425: minOccurs="1" maxOccurs="1"/>
426: <xsd:element name="file-groups" type="_file-groups"
427: minOccurs="1" maxOccurs="1"/>
428: </xsd:sequence>
429: </xsd:complexType>
430:
431: <!-- Schema for resume filesharing -->
432: <xsd:complexType name="_resume-filesharing">
433: <xsd:sequence>
434: <xsd:element name="moderator" type="_moderator"
435: minOccurs="1" maxOccurs="1"/>
436: </xsd:sequence>
437: </xsd:complexType>
438:
439: <!-- Schema for pause filesharing -->
440: <xsd:complexType name="_leave-filesharing">
441: <xsd:sequence>
442: <xsd:element name="user" type="_user"
443: minOccurs="1" maxOccurs="1"/>
444: <xsd:element name="new-moderator" type="_moderator"
445: minOccurs="1" maxOccurs="1"/>
446: <xsd:element name="new-file-owner" type="_new-file-owner"
447: minOccurs="1" maxOccurs="1"/>
448: <xsd:element name="file-groups" type="_file-groups"
449: minOccurs="1" maxOccurs="1"/>
450: </xsd:sequence>
451: </xsd:complexType>
452:
453: <!-- Schema for commands -->
454: <xsd:complexType name="_commands">
455: <xsd:sequence>
456: <xsd:choice maxOccurs="1">
457: <xsd:element name="filesystem-command" type="_filesystem-command"
458: minOccurs="1" maxOccurs="1"/>
459: </xsd:choice>
460: </xsd:sequence>
461: </xsd:complexType>
462:
463: <!-- ===================================================== -->
464:
465: <xsd:complexType name="_file-groups">
466: <xsd:sequence>
467: <xsd:element name="file-group" type="_file-group"
468: minOccurs="1" maxOccurs="unbounded"/>
469: </xsd:sequence>
470: </xsd:complexType>
471:
472: <xsd:complexType name="_file-group">
473: <xsd:sequence>
474: <xsd:element name="file-group-name" type="xsd:string"
475: minOccurs="1" maxOccurs="1"/>
476: <xsd:element name="user" type="_user"
477: minOccurs="1" maxOccurs="1"/>
478: <!-- file-name contains full path -->
479: <xsd:element name="file-name" type="xsd:string"
480: minOccurs="1" maxOccurs="unbounded"/>
481: </xsd:sequence>
482: </xsd:complexType>
483:
484: <xsd:complexType name="_send-file-data">
485: <xsd:sequence>
486: <xsd:element name="file-data" type="_file-data"
487: minOccurs="1" maxOccurs="1"/>
488: <xsd:element name="choose-line-region-function" type="xsd:boolean"
489: minOccurs="1" maxOccurs="1"/>
490: <xsd:choice maxOccurs="1">
491: <xsd:element name="line-region-function" type="_line-region-function"
492: minOccurs="1" maxOccurs="1"/>
493: <xsd:element name="line-region" type="_line-region"
494: minOccurs="1" maxOccurs="unbounded"/>
495: </xsd:choice>
496: <xsd:element name="content" type="_content"
497: minOccurs="1" maxOccurs="1"/>
498: </xsd:sequence>
499: </xsd:complexType>
500:
501: <xsd:complexType name="_line-region-function">
502: <xsd:sequence>
503: <xsd:element name="funtion-name" type="xsd:string"
504: minOccurs="1" maxOccurs="1"/>
505: <xsd:element name="arguments" type="xsd:string"
506: minOccurs="1" maxOccurs="unbounded"/>
507: </xsd:sequence>
508: </xsd:complexType>
509:
510: <xsd:complexType name="_file-data">
511: <xsd:sequence>
512: <!-- file-name contains full path -->
513: <xsd:element name="file-name" type="xsd:string"
514: minOccurs="1" maxOccurs="1"/>
515: <xsd:element name="content-type" type="xsd:string"
516: minOccurs="1" maxOccurs="1"/>
517: <xsd:element name="description" type="xsd:string"
518: minOccurs="0" maxOccurs="1"/>
519: </xsd:sequence>
520: </xsd:complexType>
521:
522: <!-- Schema for file-changed -->
523: <xsd:complexType name="_file-changed-data">
524: <xsd:sequence>
525: <!-- file-name contains full path -->
526: <xsd:element name="file-name" type="xsd:string"
527: minOccurs="1" maxOccurs="1"/>
528: <xsd:element name="digest" type="xsd:string"
529: minOccurs="1" maxOccurs="1"/>
530: <xsd:element name="region-changed" type="_region-changed"
531: minOccurs="1" maxOccurs="unbounded"/>
532: </xsd:sequence>
533: </xsd:complexType>
534:
535: <!-- Schema for lock-region -->
536: <xsd:complexType name="_lock-region-data">
537: <xsd:sequence>
538: <!-- file-name contains full path -->
539: <xsd:element name="file-name" type="xsd:string"
540: minOccurs="1" maxOccurs="1"/>
541: <xsd:element name="line-region" type="_line-region"
542: minOccurs="1" maxOccurs="unbounded"/>
543: <xsd:choice maxOccurs="1">
544: <xsd:element name="text-region" type="_text-region"
545: minOccurs="1" maxOccurs="1"/>
546: <xsd:element name="java-region" type="_java-region"
547: minOccurs="1" maxOccurs="1"/>
548: </xsd:choice>
549: <xsd:element name="content" type="_content"
550: minOccurs="1" maxOccurs="1"/>
551: </xsd:sequence>
552: </xsd:complexType>
553:
554: <!-- Schema for unlock-region -->
555: <xsd:complexType name="_unlock-region-data">
556: <xsd:sequence>
557: <!-- file-name contains full path -->
558: <xsd:element name="file-name" type="xsd:string"
559: minOccurs="1" maxOccurs="1"/>
560: <xsd:element name="line-region" type="_line-region"
561: minOccurs="1" maxOccurs="unbounded"/>
562: <xsd:choice maxOccurs="1">
563: <xsd:element name="text-region" type="_text-region"
564: minOccurs="1" maxOccurs="1"/>
565: <xsd:element name="java-region" type="_java-region"
566: minOccurs="1" maxOccurs="1"/>
567: </xsd:choice>
568: <xsd:element name="content" type="_content"
569: minOccurs="1" maxOccurs="1"/>
570: </xsd:sequence>
571: </xsd:complexType>
572:
573: <!-- user elements -->
574: <xsd:complexType name="_moderator">
575: <xsd:sequence>
576: <xsd:element name="users" type="_users"
577: minOccurs="1" maxOccurs="1"/>
578: </xsd:sequence>
579: </xsd:complexType>
580:
581: <xsd:complexType name="_join-user">
582: <xsd:sequence>
583: <xsd:element name="user" type="_user"
584: minOccurs="1" maxOccurs="1"/>
585: </xsd:sequence>
586: </xsd:complexType>
587:
588: <xsd:complexType name="_file-owners">
589: <xsd:sequence>
590: <xsd:element name="users" type="_users"
591: minOccurs="1" maxOccurs="1"/>
592: </xsd:sequence>
593: </xsd:complexType>
594:
595: <xsd:complexType name="_new-file-owner">
596: <xsd:sequence>
597: <xsd:element name="users" type="_users"
598: minOccurs="1" maxOccurs="1"/>
599: </xsd:sequence>
600: </xsd:complexType>
601:
602: <xsd:complexType name="_users">
603: <xsd:sequence>
604: <xsd:element name="user" type="_user"
605: minOccurs="0" maxOccurs="unbounded"/>
606: </xsd:sequence>
607: </xsd:complexType>
608:
609: <xsd:complexType name="_user">
610: <xsd:sequence>
611: <xsd:element name="id" type="xsd:string"
612: minOccurs="1" maxOccurs="1"/>
613: <xsd:element name="name" type="xsd:string"
614: minOccurs="0" maxOccurs="1"/>
615: <xsd:element name="description" type="xsd:string"
616: minOccurs="0" maxOccurs="1"/>
617: </xsd:sequence>
618: </xsd:complexType>
619:
620: <!-- filesystem command schema -->
621: <xsd:complexType name="_filesystem-command">
622: <xsd:sequence>
623: <xsd:choice maxOccurs="1">
624: <!-- file commands -->
625: <xsd:element name="delete-file" type="_delete-file"
626: minOccurs="1" maxOccurs="1"/>
627: </xsd:choice>
628: </xsd:sequence>
629: </xsd:complexType>
630:
631: <xsd:complexType name="_delete-file">
632: <xsd:sequence>
633: <!-- file-name contains full path -->
634: <xsd:element name="file-name" type="xsd:string"
635: minOccurs="1" maxOccurs="1"/>
636: </xsd:sequence>
637: </xsd:complexType>
638:
639: <!-- ===================================================== -->
640:
641: <xsd:complexType name="_region-changed">
642: <xsd:sequence>
643: <xsd:choice maxOccurs="1">
644: <xsd:element name="text-region-changed" type="_text-region-changed"
645: minOccurs="1" maxOccurs="1"/>
646: <xsd:element name="java-region-changed" type="_java-region-changed"
647: minOccurs="1" maxOccurs="1"/>
648: <xsd:element name="line-region-changed" type="_line-region-changed"
649: minOccurs="1" maxOccurs="1"/>
650: </xsd:choice>
651: </xsd:sequence>
652: </xsd:complexType>
653:
654: <xsd:complexType name="_text-region-changed">
655: <xsd:sequence>
656: <xsd:element name="text-region" type="_text-region"
657: minOccurs="1" maxOccurs="1"/>
658: <xsd:element name="text-change" type="_text-change"
659: minOccurs="1" maxOccurs="1"/>
660: </xsd:sequence>
661: </xsd:complexType>
662:
663: <xsd:complexType name="_java-region-changed">
664: <xsd:sequence>
665: <xsd:element name="java-region" type="_java-region"
666: minOccurs="1" maxOccurs="1"/>
667: <xsd:element name="java-change" type="_java-change"
668: minOccurs="1" maxOccurs="1"/>
669: </xsd:sequence>
670: </xsd:complexType>
671:
672: <xsd:complexType name="_line-region-changed">
673: <xsd:sequence>
674: <xsd:element name="line-region" type="_line-region"
675: minOccurs="1" maxOccurs="1"/>
676: <xsd:element name="line-change" type="_line-change"
677: minOccurs="1" maxOccurs="1"/>
678: </xsd:sequence>
679: </xsd:complexType>
680:
681: <xsd:complexType name="_region" abstract="true">
682: <xsd:sequence>
683: <xsd:element name="region-name" type="xsd:string"
684: minOccurs="1" maxOccurs="1">
685: </xsd:element>
686: </xsd:sequence>
687: </xsd:complexType>
688:
689: <xsd:complexType name="_change" abstract="true"/>
690:
691: <xsd:complexType name="_content">
692: <xsd:sequence>
693: <xsd:element name="encoding" type="xsd:string"
694: minOccurs="1" maxOccurs="1">
695: </xsd:element>
696: <xsd:element name="digest" type="xsd:string"
697: minOccurs="1" maxOccurs="1">
698: </xsd:element>
699: <xsd:element name="data" type="xsd:string"
700: minOccurs="1" maxOccurs="1">
701: </xsd:element>
702: </xsd:sequence>
703: </xsd:complexType>
704:
705:
706:
707: <!-- ===================================================== -->
708: <!-- ================ Text Region =================== -->
709: <!-- ===================================================== -->
710:
711: <xsd:complexType name="_text-region">
712: <xsd:complexContent>
713: <xsd:extension base="_region">
714: <xsd:sequence>
715: <xsd:element name="begin-offset" type="xsd:integer"
716: minOccurs="1" maxOccurs="1">
717: </xsd:element>
718: <xsd:element name="length" type="xsd:integer"
719: minOccurs="1" maxOccurs="1">
720: </xsd:element>
721: </xsd:sequence>
722: </xsd:extension>
723: </xsd:complexContent>
724: </xsd:complexType>
725:
726: <xsd:complexType name="_line-range">
727: <xsd:sequence>
728: <xsd:element name="from-line" type="xsd:integer"
729: minOccurs="1" maxOccurs="1"/>
730: <xsd:element name="to-line" type="xsd:integer"
731: minOccurs="1" maxOccurs="1"/>
732: </xsd:sequence>
733: </xsd:complexType>
734:
735: <xsd:complexType name="_offset-range">
736: <xsd:sequence>
737: <xsd:element name="begin-offset" type="xsd:integer"
738: minOccurs="1" maxOccurs="1">
739: </xsd:element>
740: <xsd:element name="length" type="xsd:integer"
741: minOccurs="1" maxOccurs="1">
742: </xsd:element>
743: </xsd:sequence>
744: </xsd:complexType>
745:
746: <xsd:complexType name="_text-change">
747: <xsd:complexContent>
748: <xsd:extension base="_change">
749: <xsd:choice maxOccurs="1">
750: <xsd:element name="change-texts" type="_change-texts"
751: minOccurs="1" maxOccurs="1"/>
752: <xsd:element name="content" type="_content"
753: minOccurs="1" maxOccurs="1"/>
754: </xsd:choice>
755: </xsd:extension>
756: </xsd:complexContent>
757: </xsd:complexType>
758:
759:
760:
761: <!-- ===================================================== -->
762: <!-- ================ Java Region =================== -->
763: <!-- ===================================================== -->
764: <xsd:complexType name="_java-region">
765: <xsd:complexContent>
766: <xsd:extension base="_region">
767: <xsd:sequence>
768: <xsd:element name="begin-offset" type="xsd:integer"
769: minOccurs="1" maxOccurs="1">
770: </xsd:element>
771: <xsd:element name="length" type="xsd:integer"
772: minOccurs="1" maxOccurs="1">
773: </xsd:element>
774: </xsd:sequence>
775: </xsd:extension>
776: </xsd:complexContent>
777: </xsd:complexType>
778:
779: <xsd:complexType name="_java-change">
780: <xsd:complexContent>
781: <xsd:extension base="_change">
782: <xsd:sequence>
783: <xsd:choice maxOccurs="1">
784: <xsd:element name="change-texts" type="_change-texts"
785: minOccurs="1" maxOccurs="1"/>
786: <xsd:element name="content" type="_content"
787: minOccurs="1" maxOccurs="1"/>
788: </xsd:choice>
789: </xsd:sequence>
790: </xsd:extension>
791: </xsd:complexContent>
792: </xsd:complexType>
793:
794:
795:
796: <!-- ===================================================== -->
797: <!-- ================ Line Region =================== -->
798: <!-- ===================================================== -->
799: <xsd:complexType name="_line-region">
800: <xsd:complexContent>
801: <xsd:extension base="_region">
802: </xsd:extension>
803: </xsd:complexContent>
804: </xsd:complexType>
805:
806: <xsd:complexType name="_line-change">
807: <xsd:complexContent>
808: <xsd:extension base="_change">
809: <xsd:sequence>
810: <xsd:choice maxOccurs="1">
811: <xsd:element name="content" type="_content"
812: minOccurs="1" maxOccurs="1"/>
813: </xsd:choice>
814: </xsd:sequence>
815: </xsd:extension>
816: </xsd:complexContent>
817: </xsd:complexType>
818:
819:
820:
821: <!-- ===================================================== -->
822: <!-- ================Common Region Type=================== -->
823: <!-- ===================================================== -->
824:
825: <xsd:complexType name="_change-texts">
826: <xsd:sequence>
827: <xsd:element name="remove-texts" type="_remove-texts"
828: minOccurs="1" maxOccurs="1"/>
829: <xsd:element name="insert-texts" type="_insert-texts"
830: minOccurs="1" maxOccurs="1"/>
831: </xsd:sequence>
832: </xsd:complexType>
833:
834: <xsd:complexType name="_remove-texts">
835: <xsd:sequence>
836: <xsd:element name="remove-text" type="_remove-text"
837: minOccurs="1" maxOccurs="unbounded"/>
838: </xsd:sequence>
839: </xsd:complexType>
840:
841: <xsd:complexType name="_insert-texts">
842: <xsd:sequence>
843: <xsd:element name="insert-text" type="_insert-text"
844: minOccurs="1" maxOccurs="unbounded"/>
845: </xsd:sequence>
846: </xsd:complexType>
847:
848: <xsd:complexType name="_remove-text">
849: <xsd:sequence>
850: <xsd:element name="offset" type="xsd:integer"
851: minOccurs="1" maxOccurs="1"/>
852: </xsd:sequence>
853: </xsd:complexType>
854:
855: <xsd:complexType name="_insert-text">
856: <xsd:sequence>
857: <xsd:element name="offset" type="xsd:integer"
858: minOccurs="1" maxOccurs="1"/>
859: <xsd:element name="content" type="_content"
860: minOccurs="1" maxOccurs="1"/>
861: </xsd:sequence>
862: </xsd:complexType>
863:
864: </xsd:schema>
865:
866: */
|