/** * Create CompressionAlgorithm object from given text. * * @param text * the text value of the compression algoritm. * @return CompressionAlgorithm object. */ public CompressionAlgorithm decodeCompressionAlgorithm(String value) throws ParseException { // compressionAlgorithm =algorithmName 0*(";"algorithmName) return new CompressionAlgorithm(semiColonPattern.split(value, 0)); }
public String encodeCompressionAlgorithm(CompressionAlgorithm compressionAlgorithm) { StringBuffer s = new StringBuffer(""); String[] names = compressionAlgorithm.getCompressionAlgorithmNames(); boolean first = true; for (int i = 0; i < names.length; i++) { if (first) { first = false; } else { s.append(";"); } s.append(names[i]); } return s.toString(); }
public static CompressionAlgorithm decode(byte[] value,int offset,int length) throws ParseException { SplitDetails[] splitDetails=StringFunctions.split(value, offset, length, StringFunctions.SEMICOLON_BYTE); String[] result=new String[splitDetails.length]; for(int i=0;i<result.length;i++) result[i]=new String(value,splitDetails[i].getOffset(),splitDetails[i].getLength()); return new CompressionAlgorithm(result); }
public static int encode(byte[] destination,int offset,CompressionAlgorithm compressionAlgorithm) { String[] names = compressionAlgorithm.getCompressionAlgorithmNames(); if(names.length==0) return 0; int usedLength=0; byte[] currBytes; int i=0; for(;i<names.length-1;i++) { currBytes=names[i].getBytes(); System.arraycopy(currBytes, 0, destination, offset+usedLength, currBytes.length); usedLength+=currBytes.length; destination[offset+usedLength]=StringFunctions.SEMICOLON_BYTE; usedLength++; } currBytes=names[i].getBytes(); System.arraycopy(currBytes, 0, destination, offset+usedLength, currBytes.length); usedLength+=currBytes.length; return usedLength; } }
public static CompressionAlgorithm decode(byte[] value,int offset,int length) throws ParseException { SplitDetails[] splitDetails=StringFunctions.split(value, offset, length, StringFunctions.SEMICOLON_BYTE); String[] result=new String[splitDetails.length]; for(int i=0;i<result.length;i++) result[i]=new String(value,splitDetails[i].getOffset(),splitDetails[i].getLength()); return new CompressionAlgorithm(result); }
public static int encode(byte[] destination,int offset,CompressionAlgorithm compressionAlgorithm) { String[] names = compressionAlgorithm.getCompressionAlgorithmNames(); if(names.length==0) return 0; int usedLength=0; byte[] currBytes; int i=0; for(;i<names.length-1;i++) { currBytes=names[i].getBytes(); System.arraycopy(currBytes, 0, destination, offset+usedLength, currBytes.length); usedLength+=currBytes.length; destination[offset+usedLength]=StringFunctions.SEMICOLON_BYTE; usedLength++; } currBytes=names[i].getBytes(); System.arraycopy(currBytes, 0, destination, offset+usedLength, currBytes.length); usedLength+=currBytes.length; return usedLength; } }
CompressionAlgorithm compressionAlgorithm = new CompressionAlgorithm(codecs); capabilityValue = new LocalOptVal(compressionAlgorithm);