Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 88353 invoked from network); 5 Jan 2010 20:34:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 5 Jan 2010 20:34:09 -0000 Received: (qmail 1980 invoked by uid 500); 5 Jan 2010 20:34:08 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 1965 invoked by uid 500); 5 Jan 2010 20:34:08 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 1955 invoked by uid 99); 5 Jan 2010 20:34:08 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jan 2010 20:34:08 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jan 2010 20:34:06 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3196A2388A5B; Tue, 5 Jan 2010 20:33:46 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r896207 [3/4] - /incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ Date: Tue, 05 Jan 2010 20:33:45 -0000 To: cassandra-commits@incubator.apache.org From: eevans@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100105203346.3196A2388A5B@eris.apache.org> Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -49,8 +30,9 @@ * @param value. Some data * @param timestamp. Used to record when data was sent to be written. */ -public class Column implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Column implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("Column"); + private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); private static final TField VALUE_FIELD_DESC = new TField("value", TType.STRING, (short)2); private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3); @@ -58,20 +40,74 @@ public byte[] name; public byte[] value; public long timestamp; - public static final int NAME = 1; - public static final int VALUE = 2; - public static final int TIMESTAMP = 3; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + NAME((short)1, "name"), + VALUE((short)2, "value"), + TIMESTAMP((short)3, "timestamp"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments private static final int __TIMESTAMP_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, + put(_Fields.VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, + put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.I64))); }}); @@ -133,7 +169,7 @@ this.name = null; } - // Returns true if field name is set (has been asigned a value) and false otherwise + /** Returns true if field name is set (has been asigned a value) and false otherwise */ public boolean isSetName() { return this.name != null; } @@ -157,7 +193,7 @@ this.value = null; } - // Returns true if field value is set (has been asigned a value) and false otherwise + /** Returns true if field value is set (has been asigned a value) and false otherwise */ public boolean isSetValue() { return this.value != null; } @@ -182,7 +218,7 @@ __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID); } - // Returns true if field timestamp is set (has been asigned a value) and false otherwise + /** Returns true if field timestamp is set (has been asigned a value) and false otherwise */ public boolean isSetTimestamp() { return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID); } @@ -191,8 +227,8 @@ __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value); } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case NAME: if (value == null) { unsetName(); @@ -217,13 +253,15 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case NAME: return getName(); @@ -233,23 +271,29 @@ case TIMESTAMP: return new Long(getTimestamp()); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case NAME: return isSetName(); case VALUE: return isSetValue(); case TIMESTAMP: return isSetTimestamp(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -344,39 +388,39 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case NAME: - if (field.type == TType.STRING) { - this.name = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case VALUE: - if (field.type == TType.STRING) { - this.value = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case TIMESTAMP: - if (field.type == TType.I64) { - this.timestamp = iprot.readI64(); - setTimestampIsSet(true); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case NAME: + if (field.type == TType.STRING) { + this.name = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case VALUE: + if (field.type == TType.STRING) { + this.value = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case TIMESTAMP: + if (field.type == TType.I64) { + this.timestamp = iprot.readI64(); + setTimestampIsSet(true); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method if (!isSetTimestamp()) { throw new TProtocolException("Required field 'timestamp' was not found in serialized data! Struct: " + toString()); @@ -452,7 +496,6 @@ throw new TProtocolException("Required field 'value' was not present! Struct: " + toString()); } // alas, we cannot check 'timestamp' because it's a primitive and you chose the non-beans generator. - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnOrSuperColumn.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnOrSuperColumn.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnOrSuperColumn.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnOrSuperColumn.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -52,22 +33,77 @@ * @param column. The Column returned by get() or get_slice(). * @param super_column. The SuperColumn returned by get() or get_slice(). */ -public class ColumnOrSuperColumn implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnOrSuperColumn implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("ColumnOrSuperColumn"); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRUCT, (short)1); private static final TField SUPER_COLUMN_FIELD_DESC = new TField("super_column", TType.STRUCT, (short)2); public Column column; public SuperColumn super_column; - public static final int COLUMN = 1; - public static final int SUPER_COLUMN = 2; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + COLUMN((short)1, "column"), + SUPER_COLUMN((short)2, "super_column"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, Column.class))); - put(SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, SuperColumn.class))); }}); @@ -78,15 +114,6 @@ public ColumnOrSuperColumn() { } - public ColumnOrSuperColumn( - Column column, - SuperColumn super_column) - { - this(); - this.column = column; - this.super_column = super_column; - } - /** * Performs a deep copy on other. */ @@ -121,7 +148,7 @@ this.column = null; } - // Returns true if field column is set (has been asigned a value) and false otherwise + /** Returns true if field column is set (has been asigned a value) and false otherwise */ public boolean isSetColumn() { return this.column != null; } @@ -145,7 +172,7 @@ this.super_column = null; } - // Returns true if field super_column is set (has been asigned a value) and false otherwise + /** Returns true if field super_column is set (has been asigned a value) and false otherwise */ public boolean isSetSuper_column() { return this.super_column != null; } @@ -156,8 +183,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case COLUMN: if (value == null) { unsetColumn(); @@ -174,34 +201,42 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case COLUMN: return getColumn(); case SUPER_COLUMN: return getSuper_column(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case COLUMN: return isSetColumn(); case SUPER_COLUMN: return isSetSuper_column(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -279,33 +314,33 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case COLUMN: - if (field.type == TType.STRUCT) { - this.column = new Column(); - this.column.read(iprot); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case SUPER_COLUMN: - if (field.type == TType.STRUCT) { - this.super_column = new SuperColumn(); - this.super_column.read(iprot); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case COLUMN: + if (field.type == TType.STRUCT) { + this.column = new Column(); + this.column.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case SUPER_COLUMN: + if (field.type == TType.STRUCT) { + this.super_column = new SuperColumn(); + this.super_column.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -362,7 +397,6 @@ public void validate() throws TException { // check for required fields - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnParent.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnParent.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnParent.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnParent.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -48,22 +29,77 @@ * * See also ColumnPath */ -public class ColumnParent implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnParent implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("ColumnParent"); + private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (short)3); private static final TField SUPER_COLUMN_FIELD_DESC = new TField("super_column", TType.STRING, (short)4); public String column_family; public byte[] super_column; - public static final int COLUMN_FAMILY = 3; - public static final int SUPER_COLUMN = 4; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + COLUMN_FAMILY((short)3, "column_family"), + SUPER_COLUMN((short)4, "super_column"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); }}); @@ -75,12 +111,10 @@ } public ColumnParent( - String column_family, - byte[] super_column) + String column_family) { this(); this.column_family = column_family; - this.super_column = super_column; } /** @@ -118,7 +152,7 @@ this.column_family = null; } - // Returns true if field column_family is set (has been asigned a value) and false otherwise + /** Returns true if field column_family is set (has been asigned a value) and false otherwise */ public boolean isSetColumn_family() { return this.column_family != null; } @@ -142,7 +176,7 @@ this.super_column = null; } - // Returns true if field super_column is set (has been asigned a value) and false otherwise + /** Returns true if field super_column is set (has been asigned a value) and false otherwise */ public boolean isSetSuper_column() { return this.super_column != null; } @@ -153,8 +187,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case COLUMN_FAMILY: if (value == null) { unsetColumn_family(); @@ -171,34 +205,42 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case COLUMN_FAMILY: return getColumn_family(); case SUPER_COLUMN: return getSuper_column(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case COLUMN_FAMILY: return isSetColumn_family(); case SUPER_COLUMN: return isSetSuper_column(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -276,31 +318,31 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case COLUMN_FAMILY: - if (field.type == TType.STRING) { - this.column_family = iprot.readString(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case SUPER_COLUMN: - if (field.type == TType.STRING) { - this.super_column = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case COLUMN_FAMILY: + if (field.type == TType.STRING) { + this.column_family = iprot.readString(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case SUPER_COLUMN: + if (field.type == TType.STRING) { + this.super_column = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -361,7 +403,6 @@ if (column_family == null) { throw new TProtocolException("Required field 'column_family' was not present! Struct: " + toString()); } - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnPath.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnPath.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnPath.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ColumnPath.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -52,8 +33,9 @@ * @param super_column. The super column name. * @param column. The column name. */ -public class ColumnPath implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnPath implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("ColumnPath"); + private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (short)3); private static final TField SUPER_COLUMN_FIELD_DESC = new TField("super_column", TType.STRING, (short)4); private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)5); @@ -61,18 +43,72 @@ public String column_family; public byte[] super_column; public byte[] column; - public static final int COLUMN_FAMILY = 3; - public static final int SUPER_COLUMN = 4; - public static final int COLUMN = 5; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + COLUMN_FAMILY((short)3, "column_family"), + SUPER_COLUMN((short)4, "super_column"), + COLUMN((short)5, "column"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, + put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); }}); @@ -84,14 +120,10 @@ } public ColumnPath( - String column_family, - byte[] super_column, - byte[] column) + String column_family) { this(); this.column_family = column_family; - this.super_column = super_column; - this.column = column; } /** @@ -133,7 +165,7 @@ this.column_family = null; } - // Returns true if field column_family is set (has been asigned a value) and false otherwise + /** Returns true if field column_family is set (has been asigned a value) and false otherwise */ public boolean isSetColumn_family() { return this.column_family != null; } @@ -157,7 +189,7 @@ this.super_column = null; } - // Returns true if field super_column is set (has been asigned a value) and false otherwise + /** Returns true if field super_column is set (has been asigned a value) and false otherwise */ public boolean isSetSuper_column() { return this.super_column != null; } @@ -181,7 +213,7 @@ this.column = null; } - // Returns true if field column is set (has been asigned a value) and false otherwise + /** Returns true if field column is set (has been asigned a value) and false otherwise */ public boolean isSetColumn() { return this.column != null; } @@ -192,8 +224,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case COLUMN_FAMILY: if (value == null) { unsetColumn_family(); @@ -218,13 +250,15 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case COLUMN_FAMILY: return getColumn_family(); @@ -234,23 +268,29 @@ case COLUMN: return getColumn(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case COLUMN_FAMILY: return isSetColumn_family(); case SUPER_COLUMN: return isSetSuper_column(); case COLUMN: return isSetColumn(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -345,38 +385,38 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case COLUMN_FAMILY: - if (field.type == TType.STRING) { - this.column_family = iprot.readString(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case SUPER_COLUMN: - if (field.type == TType.STRING) { - this.super_column = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case COLUMN: - if (field.type == TType.STRING) { - this.column = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case COLUMN_FAMILY: + if (field.type == TType.STRING) { + this.column_family = iprot.readString(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case SUPER_COLUMN: + if (field.type == TType.STRING) { + this.super_column = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case COLUMN: + if (field.type == TType.STRING) { + this.column = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -459,7 +499,6 @@ if (column_family == null) { throw new TProtocolException("Required field 'column_family' was not present! Struct: " + toString()); } - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ConsistencyLevel.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ConsistencyLevel.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ConsistencyLevel.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/ConsistencyLevel.java Tue Jan 5 20:33:44 2010 @@ -4,58 +4,68 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - -import java.util.Set; -import java.util.HashSet; -import java.util.Collections; -import org.apache.thrift.IntRangeSet; import java.util.Map; import java.util.HashMap; +import org.apache.thrift.TEnum; -public class ConsistencyLevel { - public static final int ZERO = 0; - public static final int ONE = 1; - public static final int QUORUM = 2; - public static final int DCQUORUM = 3; - public static final int DCQUORUMSYNC = 4; - public static final int ALL = 5; - - public static final IntRangeSet VALID_VALUES = new IntRangeSet( - ZERO, - ONE, - QUORUM, - DCQUORUM, - DCQUORUMSYNC, - ALL ); - - public static final Map VALUES_TO_NAMES = new HashMap() {{ - put(ZERO, "ZERO"); - put(ONE, "ONE"); - put(QUORUM, "QUORUM"); - put(DCQUORUM, "DCQUORUM"); - put(DCQUORUMSYNC, "DCQUORUMSYNC"); - put(ALL, "ALL"); +/** + * The ConsistencyLevel is an enum that controls both read and write behavior based on in your + * storage-conf.xml. The different consistency levels have different meanings, depending on if you're doing a write or read + * operation. Note that if W + R > ReplicationFactor, where W is the number of nodes to block for on write, and R + * the number to block for on reads, you will have strongly consistent behavior; that is, readers will always see the most + * recent write. Of these, the most interesting is to do QUORUM reads and writes, which gives you consistency while still + * allowing availability in the face of node failures up to half of . Of course if latency is more + * important than consistency then you can use lower values for either or both. + * + * Write: + * ZERO Ensure nothing. A write happens asynchronously in background + * ONE Ensure that the write has been written to at least 1 node's commit log and memory table before responding to the client. + * QUORUM Ensure that the write has been written to / 2 + 1 nodes before responding to the client. + * ALL Ensure that the write is written to <ReplicationFactor> nodes before responding to the client. + * + * Read: + * ZERO Not supported, because it doesn't make sense. + * ONE Will return the record returned by the first node to respond. A consistency check is always done in a + * background thread to fix any consistency issues when ConsistencyLevel.ONE is used. This means subsequent + * calls will have correct data even if the initial read gets an older value. (This is called 'read repair'.) + * QUORUM Will query all storage nodes and return the record with the most recent timestamp once it has at least a + * majority of replicas reported. Again, the remaining replicas will be checked in the background. + * ALL Not yet supported, but we plan to eventually. + */ +public enum ConsistencyLevel implements TEnum { + ZERO(0), + ONE(1), + QUORUM(2), + DCQUORUM(3), + DCQUORUMSYNC(4), + ALL(5); + + private static final Map BY_VALUE = new HashMap() {{ + for(ConsistencyLevel val : ConsistencyLevel.values()) { + put(val.getValue(), val); + } }}; + + private final int value; + + private ConsistencyLevel(int value) { + this.value = value; + } + + /** + * Get the integer value of this enum value, as defined in the Thrift IDL. + */ + public int getValue() { + return value; + } + + /** + * Find a the enum type by its integer value, as defined in the Thrift IDL. + * @return null if the value is not found. + */ + public static ConsistencyLevel findByValue(int value) { + return BY_VALUE.get(value); + } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Constants.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Constants.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Constants.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Constants.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Deletion.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Deletion.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Deletion.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Deletion.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -42,8 +23,9 @@ import org.apache.thrift.meta_data.*; import org.apache.thrift.protocol.*; -public class Deletion implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Deletion implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("Deletion"); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)1); private static final TField SUPER_COLUMN_FIELD_DESC = new TField("super_column", TType.STRING, (short)2); private static final TField PREDICATE_FIELD_DESC = new TField("predicate", TType.STRUCT, (short)3); @@ -51,20 +33,74 @@ public long timestamp; public byte[] super_column; public SlicePredicate predicate; - public static final int TIMESTAMP = 1; - public static final int SUPER_COLUMN = 2; - public static final int PREDICATE = 3; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + TIMESTAMP((short)1, "timestamp"), + SUPER_COLUMN((short)2, "super_column"), + PREDICATE((short)3, "predicate"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments private static final int __TIMESTAMP_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.I64))); - put(SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.OPTIONAL, + put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, SlicePredicate.class))); }}); @@ -76,15 +112,11 @@ } public Deletion( - long timestamp, - byte[] super_column, - SlicePredicate predicate) + long timestamp) { this(); this.timestamp = timestamp; setTimestampIsSet(true); - this.super_column = super_column; - this.predicate = predicate; } /** @@ -126,7 +158,7 @@ __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID); } - // Returns true if field timestamp is set (has been asigned a value) and false otherwise + /** Returns true if field timestamp is set (has been asigned a value) and false otherwise */ public boolean isSetTimestamp() { return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID); } @@ -148,7 +180,7 @@ this.super_column = null; } - // Returns true if field super_column is set (has been asigned a value) and false otherwise + /** Returns true if field super_column is set (has been asigned a value) and false otherwise */ public boolean isSetSuper_column() { return this.super_column != null; } @@ -172,7 +204,7 @@ this.predicate = null; } - // Returns true if field predicate is set (has been asigned a value) and false otherwise + /** Returns true if field predicate is set (has been asigned a value) and false otherwise */ public boolean isSetPredicate() { return this.predicate != null; } @@ -183,8 +215,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case TIMESTAMP: if (value == null) { unsetTimestamp(); @@ -209,13 +241,15 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case TIMESTAMP: return new Long(getTimestamp()); @@ -225,23 +259,29 @@ case PREDICATE: return getPredicate(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case TIMESTAMP: return isSetTimestamp(); case SUPER_COLUMN: return isSetSuper_column(); case PREDICATE: return isSetPredicate(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -336,40 +376,40 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case TIMESTAMP: - if (field.type == TType.I64) { - this.timestamp = iprot.readI64(); - setTimestampIsSet(true); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case SUPER_COLUMN: - if (field.type == TType.STRING) { - this.super_column = iprot.readBinary(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case PREDICATE: - if (field.type == TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case TIMESTAMP: + if (field.type == TType.I64) { + this.timestamp = iprot.readI64(); + setTimestampIsSet(true); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case SUPER_COLUMN: + if (field.type == TType.STRING) { + this.super_column = iprot.readBinary(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case PREDICATE: + if (field.type == TType.STRUCT) { + this.predicate = new SlicePredicate(); + this.predicate.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method if (!isSetTimestamp()) { throw new TProtocolException("Required field 'timestamp' was not found in serialized data! Struct: " + toString()); @@ -442,7 +482,6 @@ public void validate() throws TException { // check for required fields // alas, we cannot check 'timestamp' because it's a primitive and you chose the non-beans generator. - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -46,17 +27,72 @@ * Invalid request could mean keyspace or column family does not exist, required parameters are missing, or a parameter is malformed. * why contains an associated error message. */ -public class InvalidRequestException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class InvalidRequestException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("InvalidRequestException"); + private static final TField WHY_FIELD_DESC = new TField("why", TType.STRING, (short)1); public String why; - public static final int WHY = 1; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + WHY((short)1, "why"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); }}); @@ -105,7 +141,7 @@ this.why = null; } - // Returns true if field why is set (has been asigned a value) and false otherwise + /** Returns true if field why is set (has been asigned a value) and false otherwise */ public boolean isSetWhy() { return this.why != null; } @@ -116,8 +152,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case WHY: if (value == null) { unsetWhy(); @@ -126,29 +162,37 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case WHY: return getWhy(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case WHY: return isSetWhy(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -209,24 +253,24 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case WHY: - if (field.type == TType.STRING) { - this.why = iprot.readString(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case WHY: + if (field.type == TType.STRING) { + this.why = iprot.readString(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -265,7 +309,6 @@ if (why == null) { throw new TProtocolException("Required field 'why' was not present! Struct: " + toString()); } - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/KeySlice.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/KeySlice.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/KeySlice.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/KeySlice.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -49,22 +30,77 @@ * @param columns. List of data represented by the key. Typically, the list is pared down to only the columns specified by * a SlicePredicate. */ -public class KeySlice implements TBase, java.io.Serializable, Cloneable, Comparable { +public class KeySlice implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("KeySlice"); + private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)2); public String key; public List columns; - public static final int KEY = 1; - public static final int COLUMNS = 2; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + KEY((short)1, "key"), + COLUMNS((short)2, "columns"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, + put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class)))); }}); @@ -123,7 +159,7 @@ this.key = null; } - // Returns true if field key is set (has been asigned a value) and false otherwise + /** Returns true if field key is set (has been asigned a value) and false otherwise */ public boolean isSetKey() { return this.key != null; } @@ -162,7 +198,7 @@ this.columns = null; } - // Returns true if field columns is set (has been asigned a value) and false otherwise + /** Returns true if field columns is set (has been asigned a value) and false otherwise */ public boolean isSetColumns() { return this.columns != null; } @@ -173,8 +209,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case KEY: if (value == null) { unsetKey(); @@ -191,34 +227,42 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case KEY: return getKey(); case COLUMNS: return getColumns(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case KEY: return isSetKey(); case COLUMNS: return isSetColumns(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -296,42 +340,42 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case KEY: - if (field.type == TType.STRING) { - this.key = iprot.readString(); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case COLUMNS: - if (field.type == TType.LIST) { - { - TList _list8 = iprot.readListBegin(); - this.columns = new ArrayList(_list8.size); - for (int _i9 = 0; _i9 < _list8.size; ++_i9) + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case KEY: + if (field.type == TType.STRING) { + this.key = iprot.readString(); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case COLUMNS: + if (field.type == TType.LIST) { { - ColumnOrSuperColumn _elem10; - _elem10 = new ColumnOrSuperColumn(); - _elem10.read(iprot); - this.columns.add(_elem10); + TList _list8 = iprot.readListBegin(); + this.columns = new ArrayList(_list8.size); + for (int _i9 = 0; _i9 < _list8.size; ++_i9) + { + ColumnOrSuperColumn _elem10; + _elem10 = new ColumnOrSuperColumn(); + _elem10.read(iprot); + this.columns.add(_elem10); + } + iprot.readListEnd(); } - iprot.readListEnd(); + } else { + TProtocolUtil.skip(iprot, field.type); } - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -393,7 +437,6 @@ if (columns == null) { throw new TProtocolException("Required field 'columns' was not present! Struct: " + toString()); } - // check that fields of type enum have valid values } } Modified: incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Mutation.java URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Mutation.java?rev=896207&r1=896206&r2=896207&view=diff ============================================================================== --- incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Mutation.java (original) +++ incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Mutation.java Tue Jan 5 20:33:44 2010 @@ -4,34 +4,15 @@ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.service; -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - * - */ - import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; +import java.util.EnumMap; import java.util.Set; import java.util.HashSet; +import java.util.EnumSet; import java.util.Collections; import java.util.BitSet; import java.util.Arrays; @@ -47,22 +28,77 @@ * @param column_or_supercolumn. An insert to a column or supercolumn * @param deletion. A deletion of a column or supercolumn */ -public class Mutation implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Mutation implements TBase, java.io.Serializable, Cloneable, Comparable { private static final TStruct STRUCT_DESC = new TStruct("Mutation"); + private static final TField COLUMN_OR_SUPERCOLUMN_FIELD_DESC = new TField("column_or_supercolumn", TType.STRUCT, (short)1); private static final TField DELETION_FIELD_DESC = new TField("deletion", TType.STRUCT, (short)2); public ColumnOrSuperColumn column_or_supercolumn; public Deletion deletion; - public static final int COLUMN_OR_SUPERCOLUMN = 1; - public static final int DELETION = 2; + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements TFieldIdEnum { + COLUMN_OR_SUPERCOLUMN((short)1, "column_or_supercolumn"), + DELETION((short)2, "deletion"); + + private static final Map byId = new HashMap(); + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byId.put((int)field._thriftId, field); + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + return byId.get(fieldId); + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } // isset id assignments - public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ - put(COLUMN_OR_SUPERCOLUMN, new FieldMetaData("column_or_supercolumn", TFieldRequirementType.OPTIONAL, + public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ + put(_Fields.COLUMN_OR_SUPERCOLUMN, new FieldMetaData("column_or_supercolumn", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))); - put(DELETION, new FieldMetaData("deletion", TFieldRequirementType.OPTIONAL, + put(_Fields.DELETION, new FieldMetaData("deletion", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, Deletion.class))); }}); @@ -73,15 +109,6 @@ public Mutation() { } - public Mutation( - ColumnOrSuperColumn column_or_supercolumn, - Deletion deletion) - { - this(); - this.column_or_supercolumn = column_or_supercolumn; - this.deletion = deletion; - } - /** * Performs a deep copy on other. */ @@ -116,7 +143,7 @@ this.column_or_supercolumn = null; } - // Returns true if field column_or_supercolumn is set (has been asigned a value) and false otherwise + /** Returns true if field column_or_supercolumn is set (has been asigned a value) and false otherwise */ public boolean isSetColumn_or_supercolumn() { return this.column_or_supercolumn != null; } @@ -140,7 +167,7 @@ this.deletion = null; } - // Returns true if field deletion is set (has been asigned a value) and false otherwise + /** Returns true if field deletion is set (has been asigned a value) and false otherwise */ public boolean isSetDeletion() { return this.deletion != null; } @@ -151,8 +178,8 @@ } } - public void setFieldValue(int fieldID, Object value) { - switch (fieldID) { + public void setFieldValue(_Fields field, Object value) { + switch (field) { case COLUMN_OR_SUPERCOLUMN: if (value == null) { unsetColumn_or_supercolumn(); @@ -169,34 +196,42 @@ } break; - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } } - public Object getFieldValue(int fieldID) { - switch (fieldID) { + public void setFieldValue(int fieldID, Object value) { + setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); + } + + public Object getFieldValue(_Fields field) { + switch (field) { case COLUMN_OR_SUPERCOLUMN: return getColumn_or_supercolumn(); case DELETION: return getDeletion(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); } - // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise - public boolean isSet(int fieldID) { - switch (fieldID) { + public Object getFieldValue(int fieldId) { + return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId)); + } + + /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + switch (field) { case COLUMN_OR_SUPERCOLUMN: return isSetColumn_or_supercolumn(); case DELETION: return isSetDeletion(); - default: - throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); } + throw new IllegalStateException(); + } + + public boolean isSet(int fieldID) { + return isSet(_Fields.findByThriftIdOrThrow(fieldID)); } @Override @@ -274,33 +309,33 @@ if (field.type == TType.STOP) { break; } - switch (field.id) - { - case COLUMN_OR_SUPERCOLUMN: - if (field.type == TType.STRUCT) { - this.column_or_supercolumn = new ColumnOrSuperColumn(); - this.column_or_supercolumn.read(iprot); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case DELETION: - if (field.type == TType.STRUCT) { - this.deletion = new Deletion(); - this.deletion.read(iprot); - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; + _Fields fieldId = _Fields.findByThriftId(field.id); + if (fieldId == null) { + TProtocolUtil.skip(iprot, field.type); + } else { + switch (fieldId) { + case COLUMN_OR_SUPERCOLUMN: + if (field.type == TType.STRUCT) { + this.column_or_supercolumn = new ColumnOrSuperColumn(); + this.column_or_supercolumn.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + case DELETION: + if (field.type == TType.STRUCT) { + this.deletion = new Deletion(); + this.deletion.read(iprot); + } else { + TProtocolUtil.skip(iprot, field.type); + } + break; + } + iprot.readFieldEnd(); } - iprot.readFieldEnd(); } iprot.readStructEnd(); - // check for required fields of primitive type, which can't be checked in the validate method validate(); } @@ -357,7 +392,6 @@ public void validate() throws TException { // check for required fields - // check that fields of type enum have valid values } }