Skip to main content
summaryrefslogtreecommitdiffstats
blob: 98d51b660754ddc4a4c22669fcc4883f1bf8690e (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/*******************************************************************************
 * Copyright (c) 2009, 2011 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.jpa.eclipselink.core.internal.resource.java.binary;

import org.eclipse.jdt.core.IAnnotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryAnnotation;
import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink;
import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkTimeOfDayAnnotation;

/**
 * org.eclipse.persistence.annotations.TimeOfDay
 */
public final class BinaryEclipseLinkTimeOfDayAnnotation
	extends BinaryAnnotation
	implements EclipseLinkTimeOfDayAnnotation
{
	private Integer hour;
	private Integer minute;
	private Integer second;
	private Integer millisecond;


	public BinaryEclipseLinkTimeOfDayAnnotation(JavaResourceNode parent, IAnnotation jdtAnnotation) {
		super(parent, jdtAnnotation);
		this.hour = this.buildHour();
		this.minute = this.buildMinute();
		this.second = this.buildSecond();
		this.millisecond = this.buildMillisecond();
	}

	public String getAnnotationName() {
		return ANNOTATION_NAME;
	}

	@Override
	public void update() {
		super.update();
		this.setHour_(this.buildHour());
		this.setMinute_(this.buildMinute());
		this.setSecond_(this.buildSecond());
		this.setMillisecond_(this.buildMillisecond());
	}


	// ********** TimeOfDayAnnotation implementation **********

	// ***** hour
	public Integer getHour() {
		return this.hour;
	}

	public void setHour(Integer hour) {
		throw new UnsupportedOperationException();
	}

	private void setHour_(Integer hour) {
		Integer old = this.hour;
		this.hour = hour;
		this.firePropertyChanged(HOUR_PROPERTY, old, hour);
	}

	private Integer buildHour() {
		return (Integer) this.getJdtMemberValue(EclipseLink.TIME_OF_DAY__HOUR);
	}

	public TextRange getHourTextRange(CompilationUnit astRoot) {
		throw new UnsupportedOperationException();
	}

	// ***** minute
	public Integer getMinute() {
		return this.minute;
	}

	public void setMinute(Integer newMinute) {
		throw new UnsupportedOperationException();
	}

	private void setMinute_(Integer newMinute) {
		Integer oldMinute = this.minute;
		this.minute = newMinute;
		this.firePropertyChanged(MINUTE_PROPERTY, oldMinute, newMinute);
	}

	private Integer buildMinute() {
		return (Integer) this.getJdtMemberValue(EclipseLink.TIME_OF_DAY__MINUTE);
	}

	public TextRange getMinuteTextRange(CompilationUnit astRoot) {
		throw new UnsupportedOperationException();
	}

	// ***** second
	public Integer getSecond() {
		return this.second;
	}

	public void setSecond(Integer newSecond) {
		throw new UnsupportedOperationException();
	}

	private void setSecond_(Integer newSecond) {
		Integer oldSecond = this.second;
		this.second = newSecond;
		this.firePropertyChanged(SECOND_PROPERTY, oldSecond, newSecond);
	}

	private Integer buildSecond() {
		return (Integer) this.getJdtMemberValue(EclipseLink.TIME_OF_DAY__SECOND);
	}

	public TextRange getSecondTextRange(CompilationUnit astRoot) {
		throw new UnsupportedOperationException();
	}

	// ***** millisecond
	public Integer getMillisecond() {
		return this.millisecond;
	}

	public void setMillisecond(Integer newMillisecond) {
		throw new UnsupportedOperationException();
	}

	private void setMillisecond_(Integer newMillisecond) {
		Integer oldMillisecond = this.millisecond;
		this.millisecond = newMillisecond;
		this.firePropertyChanged(MILLISECOND_PROPERTY, oldMillisecond, newMillisecond);
	}

	private Integer buildMillisecond() {
		return (Integer) this.getJdtMemberValue(EclipseLink.TIME_OF_DAY__MILLISECOND);
	}

	public TextRange getMillisecondTextRange(CompilationUnit astRoot) {
		throw new UnsupportedOperationException();
	}

}

Back to the top