Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.easycluster.easycluster.serialization.bytebean.field;
  
  
  import org.slf4j.Logger;

Author(s):
wangqi
Version:
$Id: DefaultFieldDesc.java 14 2012-01-10 11:54:14Z archie $
 
 public class DefaultFieldDesc extends ByteBeanUtil implements ByteFieldDesc {
 
 	private static final Logger	LOGGER			= LoggerFactory.getLogger(DefaultFieldDesc.class);
 
 	private Field				field;
 	private int					maxByteSize		= -1;
 	private int					index;
 	private int					byteSize		= -1;
 	private Field				lengthFieldnull;
 	private String				charset;
 	private int					bytesPerChar	= 1;
 	private String				description;
 	private int					fixedLength		= -1;

Parameters:
field the field to set
 
 	public DefaultFieldDesc setField(Field field) {
 		this. = field;
 		 = super.type2DefaultByteSize(this..getType());
 		return this;
 	}

Parameters:
index the index to set
 
 	public DefaultFieldDesc setIndex(int index) {
 		this. = index;
 		return this;
 	}

Parameters:
byteSize the byteSize to set
 
 	public DefaultFieldDesc setByteSize(int byteSize) {
 		this. = byteSize;
 		return this;
 	}

Parameters:
lengthField the lengthField to set
 
 	public DefaultFieldDesc setLengthField(Field lengthField) {
 		this. = lengthField;
 		return this;
 	}

Parameters:
charset the charset to set
 
 	public DefaultFieldDesc setCharset(String charset) {
 		this. = charset;
 		if (charset.startsWith("UTF-16")) {
 			 = 2;
 		} else {
 			 = 1;
 		}
 		return this;
 	}
 
 	public DefaultFieldDesc setFixedLength(int fixedLength) {
 		this. = fixedLength;
 		return this;
 	}
 
 	public DefaultFieldDesc setDescription(String description) {
 		this. = description;
 		return this;
 	}
 
 	public int getIndex() {
 		return this.;
 	}
 
 	public int getByteSize() {
 		return -1 ==  ?  : Math.min();
 	}
 
	public Field getField() {
		return ;
	}
	public Class<?> getFieldType() {
		return .getType();
	}
	public boolean hasLength() {
		return null != ;
	}
	public int getLength(Object owner) {
		if (null == owner) {
			return -1;
		}
		if (null == ) {
			return -1;
		}
		try {
			Object value = .get(owner);
			if (null == value) {
				return -1;
			}
			if (value instanceof Long) {
				return ((Longvalue).intValue();
else if (value instanceof Integer) {
				return ((Integervalue).intValue();
else if (value instanceof Short) {
				return ((Shortvalue).intValue();
else if (value instanceof Byte) {
				return ((Bytevalue).intValue();
else {
				return -1;
			}
catch (IllegalArgumentException e) {
			.error(""e);
			return -1;
catch (IllegalAccessException e) {
			.error(""e);
			return -1;
		}
	}
	public int getStringLengthInBytes(Object owner) {
		return getLength(owner) * this.;
	}
	public String getCharset() {
		return ;
	}
	public String getDescription() {
		return ;
	}
	public int getFixedLength() {
		return this.;
	}
New to GrepCode? Check out our FAQ X