directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From erodrig...@apache.org
Subject svn commit: r124861 - /incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessage.java /incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessageModifier.java
Date Tue, 11 Jan 2005 01:19:46 GMT
Author: erodriguez
Date: Mon Jan 10 17:19:45 2005
New Revision: 124861

URL: http://svn.apache.org/viewcvs?view=rev&rev=124861
Log:
Basic DNS message, as immutable value, mutable companion.
Added:
   incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessage.java   (contents,
props changed)
   incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessageModifier.java

Added: incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessage.java
Url: http://svn.apache.org/viewcvs/incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessage.java?view=auto&rev=124861
==============================================================================
--- (empty file)
+++ incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessage.java	Mon
Jan 10 17:19:45 2005
@@ -0,0 +1,200 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dns.messages;
+
+import org.apache.dns.records.QuestionRecord;
+import org.apache.dns.records.ResourceRecord;
+
+/**
+ * All communications inside of the domain protocol are carried in a single
+ * format called a message.  The top level format of message is divided
+ * into 5 sections (some of which are empty in certain cases) shown below:
+ *
+ *     +---------------------+
+ *     |        Header       |
+ *     +---------------------+
+ *     |       Question      | the question for the name server
+ *     +---------------------+
+ *     |        Answer       | ResourceRecords answering the question
+ *     +---------------------+
+ *     |      Authority      | ResourceRecords pointing toward an authority
+ *     +---------------------+
+ *     |      Additional     | ResourceRecords holding additional information
+ *     +---------------------+
+ */
+public class DnsMessage
+{
+	/**
+	 * The header section is always present.  The header includes fields that
+	 * specify which of the remaining sections are present, and also specify
+	 * whether the message is a query or a response, a standard query or some
+	 * other opcode, etc.
+	 */
+	private short        transactionId;
+	private MessageType  messageType;
+	private OpCode       opCode;
+	private boolean      authoritativeAnswer;
+	private boolean      truncated;
+	private boolean      recursionDesired;
+	private boolean      recursionAvailable;
+	private boolean      reserved;
+	private boolean      acceptNonAuthenticatedData;
+	
+	private ResponseCode responseCode;
+	
+	private QuestionRecord[] questionRecords;
+	private ResourceRecord[] answerRecords;
+	private ResourceRecord[] authorityRecords;
+	private ResourceRecord[] additionalRecords;
+	
+	public DnsMessage( short transactionId, MessageType messageType,
+			OpCode opCode, boolean authoritativeAnswer, boolean truncated,
+			boolean recursionDesired, boolean recursionAvailable,
+			boolean reserved, boolean acceptNonAuthenticatedData,
+			ResponseCode responseCode, QuestionRecord[] question,
+			ResourceRecord[] answer, ResourceRecord[] authority, ResourceRecord[] additional )
+	{
+		this.transactionId              = transactionId;
+		this.messageType                = messageType;
+		this.opCode                     = opCode;
+		this.authoritativeAnswer        = authoritativeAnswer;
+		this.truncated                  = truncated;
+		this.recursionDesired           = recursionDesired;
+		this.recursionAvailable         = recursionAvailable;
+		this.reserved                   = reserved;
+		this.acceptNonAuthenticatedData = acceptNonAuthenticatedData;
+		this.responseCode               = responseCode;
+		this.questionRecords            = question;
+		this.answerRecords              = answer;
+		this.authorityRecords           = authority;
+		this.additionalRecords          = additional;
+	}
+	
+	/**
+	 * @return Returns the acceptNonAuthenticatedData.
+	 */
+	public boolean isAcceptNonAuthenticatedData()
+	{
+		return acceptNonAuthenticatedData;
+	}
+	
+	/**
+	 * @return Returns the additional.
+	 */
+	public ResourceRecord[] getAdditionalRecords()
+	{
+		return additionalRecords;
+	}
+	
+	/**
+	 * @return Returns the answer.
+	 */
+	public ResourceRecord[] getAnswerRecords()
+	{
+		return answerRecords;
+	}
+	
+	/**
+	 * @return Returns the authoritativeAnswer.
+	 */
+	public boolean isAuthoritativeAnswer()
+	{
+		return authoritativeAnswer;
+	}
+	
+	/**
+	 * @return Returns the authority.
+	 */
+	public ResourceRecord[] getAuthorityRecords()
+	{
+		return authorityRecords;
+	}
+	
+	/**
+	 * @return Returns the messageType.
+	 */
+	public MessageType getMessageType()
+	{
+		return messageType;
+	}
+	
+	/**
+	 * @return Returns the opCode.
+	 */
+	public OpCode getOpCode()
+	{
+		return opCode;
+	}
+	
+	/**
+	 * @return Returns the question.
+	 */
+	public QuestionRecord[] getQuestionRecords()
+	{
+		return questionRecords;
+	}
+	
+	/**
+	 * @return Returns the recursionAvailable.
+	 */
+	public boolean isRecursionAvailable()
+	{
+		return recursionAvailable;
+	}
+	
+	/**
+	 * @return Returns the recursionDesired.
+	 */
+	public boolean isRecursionDesired()
+	{
+		return recursionDesired;
+	}
+	
+	/**
+	 * @return Returns the reserved.
+	 */
+	public boolean isReserved()
+	{
+		return reserved;
+	}
+	
+	/**
+	 * @return Returns the responseCode.
+	 */
+	public ResponseCode getResponseCode()
+	{
+		return responseCode;
+	}
+	
+	/**
+	 * @return Returns the transactionId.
+	 */
+	public short getTransactionId()
+	{
+		return transactionId;
+	}
+	
+	/**
+	 * @return Returns the truncated.
+	 */
+	public boolean isTruncated()
+	{
+		return truncated;
+	}
+}
+

Added: incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessageModifier.java
Url: http://svn.apache.org/viewcvs/incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessageModifier.java?view=auto&rev=124861
==============================================================================
--- (empty file)
+++ incubator/directory/dns/trunk/core/src/java/org/apache/dns/messages/DnsMessageModifier.java
Mon Jan 10 17:19:45 2005
@@ -0,0 +1,187 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dns.messages;
+
+import org.apache.dns.records.QuestionRecord;
+import org.apache.dns.records.ResourceRecord;
+
+/**
+ * All communications inside of the domain protocol are carried in a single
+ * format called a message.  The top level format of message is divided
+ * into 5 sections (some of which are empty in certain cases) shown below:
+ *
+ *     +---------------------+
+ *     |        Header       |
+ *     +---------------------+
+ *     |       Question      | the question for the name server
+ *     +---------------------+
+ *     |        Answer       | ResourceRecords answering the question
+ *     +---------------------+
+ *     |      Authority      | ResourceRecords pointing toward an authority
+ *     +---------------------+
+ *     |      Additional     | ResourceRecords holding additional information
+ *     +---------------------+
+ */
+public class DnsMessageModifier
+{
+	/**
+	 * The header section is always present.  The header includes fields that
+	 * specify which of the remaining sections are present, and also specify
+	 * whether the message is a query or a response, a standard query or some
+	 * other opcode, etc.
+	 */
+	private short        transactionId;
+	private MessageType  messageType;
+	private OpCode       opCode;
+	private boolean      authoritativeAnswer;
+	private boolean      truncated;
+	private boolean      recursionDesired;
+	private boolean      recursionAvailable;
+	private boolean      reserved;
+	private boolean      acceptNonAuthenticatedData;
+	
+	private ResponseCode responseCode;
+	
+	private QuestionRecord[] questionRecords;
+	private ResourceRecord[] answerRecords;
+	private ResourceRecord[] authorityRecords;
+	private ResourceRecord[] additionalRecords;
+	
+	
+	public DnsMessage getDnsMessage()
+	{
+		return new DnsMessage( transactionId, messageType, opCode,
+				authoritativeAnswer, truncated, recursionDesired,
+				recursionAvailable, reserved, acceptNonAuthenticatedData,
+				responseCode, questionRecords, answerRecords, authorityRecords,
+				additionalRecords );
+	}
+	
+	/**
+	 * @param acceptNonAuthenticatedData The acceptNonAuthenticatedData to set.
+	 */
+	public void setAcceptNonAuthenticatedData( boolean acceptNonAuthenticatedData )
+	{
+		this.acceptNonAuthenticatedData = acceptNonAuthenticatedData;
+	}
+	
+	/**
+	 * @param additional The additional to set.
+	 */
+	public void setAdditionalRecords( ResourceRecord[] additionalRecords )
+	{
+		this.additionalRecords = additionalRecords;
+	}
+	
+	/**
+	 * @param answer The answer to set.
+	 */
+	public void setAnswerRecords( ResourceRecord[] answerRecords )
+	{
+		this.answerRecords = answerRecords;
+	}
+	
+	/**
+	 * @param authoritativeAnswer The authoritativeAnswer to set.
+	 */
+	public void setAuthoritativeAnswer( boolean authoritativeAnswer )
+	{
+		this.authoritativeAnswer = authoritativeAnswer;
+	}
+	
+	/**
+	 * @param authority The authority to set.
+	 */
+	public void setAuthorityRecords( ResourceRecord[] authorityRecords )
+	{
+		this.authorityRecords = authorityRecords;
+	}
+	
+	/**
+	 * @param messageType The messageType to set.
+	 */
+	public void setMessageType( MessageType messageType )
+	{
+		this.messageType = messageType;
+	}
+	
+	/**
+	 * @param opCode The opCode to set.
+	 */
+	public void setOpCode( OpCode opCode )
+	{
+		this.opCode = opCode;
+	}
+	
+	/**
+	 * @param question The question to set.
+	 */
+	public void setQuestionRecords( QuestionRecord[] questionRecords )
+	{
+		this.questionRecords = questionRecords;
+	}
+	
+	/**
+	 * @param recursionAvailable The recursionAvailable to set.
+	 */
+	public void setRecursionAvailable( boolean recursionAvailable )
+	{
+		this.recursionAvailable = recursionAvailable;
+	}
+	
+	/**
+	 * @param recursionDesired The recursionDesired to set.
+	 */
+	public void setRecursionDesired( boolean recursionDesired )
+	{
+		this.recursionDesired = recursionDesired;
+	}
+	
+	/**
+	 * @param reserved The reserved to set.
+	 */
+	public void setReserved( boolean reserved )
+	{
+		this.reserved = reserved;
+	}
+	
+	/**
+	 * @param responseCode The responseCode to set.
+	 */
+	public void setResponseCode( ResponseCode responseCode )
+	{
+		this.responseCode = responseCode;
+	}
+	
+	/**
+	 * @param transactionId The transactionId to set.
+	 */
+	public void setTransactionId( short transactionId )
+	{
+		this.transactionId = transactionId;
+	}
+	
+	/**
+	 * @param truncated The truncated to set.
+	 */
+	public void setTruncated( boolean truncated )
+	{
+		this.truncated = truncated;
+	}
+}
+

Mime
View raw message