Support test expression
PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352620 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cda1a3eb5e
commit
988200c2b2
@ -74,6 +74,12 @@ public class FieldIterator
|
|||||||
offset = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This utility function returns a fill method entry for a given field
|
||||||
|
*
|
||||||
|
* @param size - how big of an "int" or the name of the size field for a string
|
||||||
|
* @param type - int or string
|
||||||
|
*/
|
||||||
public String fillDecoder(String size, String type)
|
public String fillDecoder(String size, String type)
|
||||||
{
|
{
|
||||||
String javaType = RecordUtil.getType(size, type, 0);
|
String javaType = RecordUtil.getType(size, type, 0);
|
||||||
@ -89,8 +95,8 @@ public class FieldIterator
|
|||||||
result = "data[ 0x" + Integer.toHexString(offset) + " + offset ]";
|
result = "data[ 0x" + Integer.toHexString(offset) + " + offset ]";
|
||||||
else if (javaType.equals("double"))
|
else if (javaType.equals("double"))
|
||||||
result = "LittleEndian.getDouble(data, 0x" + Integer.toHexString(offset) + " + offset)";
|
result = "LittleEndian.getDouble(data, 0x" + Integer.toHexString(offset) + " + offset)";
|
||||||
else if (javaType.equals("ExcelString"))
|
else if (javaType.equals("String"))
|
||||||
result = "ExcelStringUtil.decodeExcelString(data, 0x" + Integer.toHexString(offset) + " + offset)";
|
result = "StringUtil.getFromUnicode(data, 0x" + Integer.toHexString(offset) + " + offset,"+ size + ")";
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -102,6 +108,7 @@ public class FieldIterator
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//position(),@name,@size,@type
|
//position(),@name,@size,@type
|
||||||
public String serialiseEncoder( int fieldNumber, String fieldName, String size, String type)
|
public String serialiseEncoder( int fieldNumber, String fieldName, String size, String type)
|
||||||
{
|
{
|
||||||
@ -120,7 +127,7 @@ public class FieldIterator
|
|||||||
else if (javaType.equals("double"))
|
else if (javaType.equals("double"))
|
||||||
result = "LittleEndian.putDouble(data, " + (offset+4) + " + offset, " + javaFieldName + ");";
|
result = "LittleEndian.putDouble(data, " + (offset+4) + " + offset, " + javaFieldName + ");";
|
||||||
else if (javaType.equals("ExcelString"))
|
else if (javaType.equals("ExcelString"))
|
||||||
result = "StringUtil.putUncompressedUnicode(getFontName(), data, 20 + offset);";
|
result = "StringUtil.putUncompressedUnicode("+ javaFieldName +", data, 20 + offset);";
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -139,7 +146,7 @@ public class FieldIterator
|
|||||||
if ("var".equals(size))
|
if ("var".equals(size))
|
||||||
{
|
{
|
||||||
String javaFieldName = RecordUtil.getFieldName(fieldNumber,fieldName,0);
|
String javaFieldName = RecordUtil.getFieldName(fieldNumber,fieldName,0);
|
||||||
return result + javaFieldName + ".sizeInBytes()";
|
return result + " ("+javaFieldName + ".length() *2)";
|
||||||
}
|
}
|
||||||
else if ("varword".equals(size))
|
else if ("varword".equals(size))
|
||||||
{
|
{
|
||||||
|
@ -136,7 +136,7 @@ public class RecordUtil
|
|||||||
else if (type.equals("float") && "8".equals(size))
|
else if (type.equals("float") && "8".equals(size))
|
||||||
return pad(new StringBuffer("double"), padTo).toString();
|
return pad(new StringBuffer("double"), padTo).toString();
|
||||||
else if (type.equals("string"))
|
else if (type.equals("string"))
|
||||||
return pad(new StringBuffer("ExcelString"), padTo).toString();
|
return pad(new StringBuffer("String"), padTo).toString();
|
||||||
|
|
||||||
return "short"; // if we don't know, default to short
|
return "short"; // if we don't know, default to short
|
||||||
}
|
}
|
||||||
@ -152,7 +152,7 @@ public class RecordUtil
|
|||||||
else if (numeric && "2".equals(size))
|
else if (numeric && "2".equals(size))
|
||||||
result = pad(new StringBuffer("short"), padTo);
|
result = pad(new StringBuffer("short"), padTo);
|
||||||
else if (type.equals("string"))
|
else if (type.equals("string"))
|
||||||
result = pad(new StringBuffer("ExcelString"), padTo);
|
result = pad(new StringBuffer("String"), padTo);
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user