blob: 0400d8e9afd5fcd782e1cd83d6013d6cf5712db1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
/*******************************************************************************
* Copyright (c) 2007, 2010 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
package org.eclipse.jpt.core.internal.jpa1.context.persistence;
import org.eclipse.core.resources.IFile;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.core.internal.context.persistence.AbstractMappingFileRef;
import org.eclipse.jpt.core.resource.persistence.XmlMappingFileRef;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
import org.eclipse.jpt.utility.internal.iterables.SingleElementIterable;
import org.eclipse.text.edits.DeleteEdit;
import org.eclipse.text.edits.ReplaceEdit;
/**
* <code>persistence.xml</code> file
* <br>
* <code>mapping-file</code> element
*/
public class GenericMappingFileRef
extends AbstractMappingFileRef
{
protected XmlMappingFileRef xmlMappingFileRef;
// ********** construction/initialization **********
public GenericMappingFileRef(PersistenceUnit parent, XmlMappingFileRef xmlMappingFileRef) {
super(parent, xmlMappingFileRef.getFileName());
this.xmlMappingFileRef = xmlMappingFileRef;
}
// ********** file name **********
public void setFileName(String fileName) {
String old = this.fileName;
this.fileName = fileName;
this.xmlMappingFileRef.setFileName(fileName);
this.firePropertyChanged(FILE_NAME_PROPERTY, old, fileName);
}
protected void setFileName_(String newFileName) {
String old = this.fileName;
this.fileName = newFileName;
this.firePropertyChanged(FILE_NAME_PROPERTY, old, newFileName);
}
// ********** MappingFileRef implementation **********
public void update(XmlMappingFileRef mappingFileRef) {
this.xmlMappingFileRef = mappingFileRef;
this.setFileName_(mappingFileRef.getFileName());
this.update();
}
public boolean isImplied() {
return false;
}
public boolean containsOffset(int textOffset) {
return this.xmlMappingFileRef.containsOffset(textOffset);
}
// ********** JpaStructureNode implementation **********
public TextRange getSelectionTextRange() {
return this.xmlMappingFileRef.getSelectionTextRange();
}
// ********** XmlContextNode implementation **********
public TextRange getValidationTextRange() {
return this.xmlMappingFileRef.getValidationTextRange();
}
// ********** refactoring **********
public Iterable<DeleteEdit> createDeleteMappingFileEdits(IFile file) {
if (this.isFor(file)) {
return new SingleElementIterable<DeleteEdit>(this.createDeleteEdit());
}
return EmptyIterable.instance();
}
protected DeleteEdit createDeleteEdit() {
return this.xmlMappingFileRef.createDeleteEdit();
}
@Override
protected ReplaceEdit createReplaceEdit(IFile originalFile, String newName) {
return this.xmlMappingFileRef.createReplaceEdit(originalFile, newName);
}
}
|