001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020
021 package org.apache.directory.server.ntp.messages;
022
023
024 /**
025 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
026 * @version $Rev: 547539 $, $Date: 2007-06-15 09:08:06 +0300 (Fri, 15 Jun 2007) $
027 */
028 public class NtpMessageModifier
029 {
030 private LeapIndicatorType leapIndicator;
031 private int versionNumber;
032 private ModeType mode;
033 private StratumType stratumType;
034 private byte pollInterval;
035 private byte precision;
036 private int rootDelay;
037 private int rootDispersion;
038
039 private ReferenceIdentifier referenceIdentifier;
040
041 private NtpTimeStamp referenceTimestamp;
042 private NtpTimeStamp originateTimestamp;
043 private NtpTimeStamp receiveTimestamp;
044 private NtpTimeStamp transmitTimestamp;
045
046
047 /**
048 * Returns the built {@link NtpMessage}.
049 *
050 * @return The {@link NtpMessage}.
051 */
052 public NtpMessage getNtpMessage()
053 {
054 return new NtpMessage( leapIndicator, versionNumber, mode, stratumType, pollInterval, precision, rootDelay,
055 rootDispersion, referenceIdentifier, referenceTimestamp, originateTimestamp, receiveTimestamp,
056 transmitTimestamp );
057 }
058
059
060 /**
061 * @param leapIndicator The Leap Indicator to set.
062 */
063 public void setLeapIndicator( LeapIndicatorType leapIndicator )
064 {
065 this.leapIndicator = leapIndicator;
066 }
067
068
069 /**
070 * @param mode The Mode to set.
071 */
072 public void setMode( ModeType mode )
073 {
074 this.mode = mode;
075 }
076
077
078 /**
079 * @param originateTimestamp The Originate Timestamp to set.
080 */
081 public void setOriginateTimestamp( NtpTimeStamp originateTimestamp )
082 {
083 this.originateTimestamp = originateTimestamp;
084 }
085
086
087 /**
088 * @param pollInterval The Poll Interval to set.
089 */
090 public void setPollInterval( byte pollInterval )
091 {
092 this.pollInterval = pollInterval;
093 }
094
095
096 /**
097 * @param precision The Precision to set.
098 */
099 public void setPrecision( byte precision )
100 {
101 this.precision = precision;
102 }
103
104
105 /**
106 * @param receiveTimestamp The Receive Timestamp to set.
107 */
108 public void setReceiveTimestamp( NtpTimeStamp receiveTimestamp )
109 {
110 this.receiveTimestamp = receiveTimestamp;
111 }
112
113
114 /**
115 * @param referenceIdentifier The Reference Identifier to set.
116 */
117 public void setReferenceIdentifier( ReferenceIdentifier referenceIdentifier )
118 {
119 this.referenceIdentifier = referenceIdentifier;
120 }
121
122
123 /**
124 * @param referenceTimestamp The Reference Timestamp to set.
125 */
126 public void setReferenceTimestamp( NtpTimeStamp referenceTimestamp )
127 {
128 this.referenceTimestamp = referenceTimestamp;
129 }
130
131
132 /**
133 * @param rootDelay The Root Delay to set.
134 */
135 public void setRootDelay( int rootDelay )
136 {
137 this.rootDelay = rootDelay;
138 }
139
140
141 /**
142 * @param rootDispersion The Root Dispersion to set.
143 */
144 public void setRootDispersion( int rootDispersion )
145 {
146 this.rootDispersion = rootDispersion;
147 }
148
149
150 /**
151 * @param stratumType The Stratum to set.
152 */
153 public void setStratum( StratumType stratumType )
154 {
155 this.stratumType = stratumType;
156 }
157
158
159 /**
160 * @param transmitTimestamp The Transmit Timestamp to set.
161 */
162 public void setTransmitTimestamp( NtpTimeStamp transmitTimestamp )
163 {
164 this.transmitTimestamp = transmitTimestamp;
165 }
166
167
168 /**
169 * @param versionNumber The Version Number to set.
170 */
171 public void setVersionNumber( int versionNumber )
172 {
173 this.versionNumber = versionNumber;
174 }
175 }