📄 sscc.java
字号:
mybits.set(15+i); else mybits.set(15+i,false); } bsSerialReference = utils.ZeroPad(Integer.toString(Integer.parseInt(sSerialReference),2),31); for(int i=0;i<bsSerialReference.length();i++) { if(bsSerialReference.charAt(i) == '1') mybits.set(42+i); else mybits.set(42+i,false); } break; case 9: bsPartition = utils.ZeroPad(Integer.toString(6,2),3); for(int i=0;i<bsPartition.length();i++) if(bsPartition.charAt(i) == '1') { mybits.set(i+12); } else { mybits.set(i+12,false); } bsManagerId = utils.ZeroPad(Integer.toString(Integer.parseInt(sManagerId),2),30); for(int i=0;i<bsManagerId.length();i++) { if(bsManagerId.charAt(i) == '1') mybits.set(15+i); else mybits.set(15+i,false); } bsSerialReference = utils.ZeroPad(Integer.toString(Integer.parseInt(sSerialReference),2),28); for(int i=0;i<bsSerialReference.length();i++) { if(bsSerialReference.charAt(i) == '1') mybits.set(45+i); else mybits.set(45+i,false); } break; case 10: bsPartition = utils.ZeroPad(Integer.toString(6,2),3); for(int i=0;i<bsPartition.length();i++) if(bsPartition.charAt(i) == '1') { mybits.set(i+12); } else { mybits.set(i+12,false); } bsManagerId = utils.ZeroPad(Integer.toString(Integer.parseInt(sManagerId),2),34); for(int i=0;i<bsManagerId.length();i++) { if(bsManagerId.charAt(i) == '1') mybits.set(15+i); else mybits.set(15+i,false); } bsSerialReference = utils.ZeroPad(Integer.toString(Integer.parseInt(sSerialReference),2),24); for(int i=0;i<bsSerialReference.length();i++) { if(bsSerialReference.charAt(i) == '1') mybits.set(49+i); else mybits.set(49+i,false); } break; case 11:bsPartition = utils.ZeroPad(Integer.toString(6,2),3); for(int i=0;i<bsPartition.length();i++) if(bsPartition.charAt(i) == '1') { mybits.set(i+12); } else { mybits.set(i+12,false); } bsManagerId = utils.ZeroPad(Integer.toString(Integer.parseInt(sManagerId),2),37); for(int i=0;i<bsManagerId.length();i++) { if(bsManagerId.charAt(i) == '1') mybits.set(15+i); else mybits.set(15+i,false); } bsSerialReference = utils.ZeroPad(Integer.toString(Integer.parseInt(sSerialReference),2),21); for(int i=0;i<bsSerialReference.length();i++) { if(bsSerialReference.charAt(i) == '1') mybits.set(52+i); else mybits.set(52+i,false); } break; case 12: bsPartition = utils.ZeroPad(Integer.toString(6,2),3); for(int i=0;i<bsPartition.length();i++) if(bsPartition.charAt(i) == '1') { mybits.set(i+12); } else { mybits.set(i+12,false); } bsManagerId = utils.ZeroPad(Integer.toString(Integer.parseInt(sManagerId),2),40); for(int i=0;i<bsManagerId.length();i++) { if(bsManagerId.charAt(i) == '1') mybits.set(15+i); else mybits.set(15+i,false); } bsSerialReference = utils.ZeroPad(Integer.toString(Integer.parseInt(sSerialReference),2),18); for(int i=0;i<bsSerialReference.length();i++) { if(bsSerialReference.charAt(i) == '1') mybits.set(55+i); else mybits.set(25+i,false); } break; default: throw new EPCParseException("Error! the internally stored ManagerId is incorrect!"); } return(mybits); } public byte[] getBinaryEncodingByteArray(int flags) throws EPCParseException { if((flags & EPC.NINETYSIXBIT) != 0) { return(ParseUtils.BitsToBytes(build96bit())); } else if((flags & EPC.SIXTYFOURBIT) != 0 ) { return(ParseUtils.BitsToBytes(build64bit())); } return(null); } public String getBinaryEncodingString(int flags) throws EPCParseException { StringBuffer buffer = new StringBuffer(); if((flags & EPC.NINETYSIXBIT) != 0) { BitSet bits = build96bit(); byte[] mybits; switch (flags & 3) { case EPC.BINARY: for (int i=1; i<97; i++) { if (bits.get(i)) { buffer.append("1"); } else { buffer.append("0"); } } return(buffer.toString()); case EPC.DECIMAL: BitSet bsByte; byte bbyte; for(int i=0;i<12;i++) { bsByte = bits.get((i*8) + 1,(i*8) + 9); bbyte=0; int x=7; for(int j=0;j<8;j++) { if(bsByte.get(j)) { bbyte |= 1<<x; } x--; } buffer.append(Byte.toString(bbyte)); } return(buffer.toString()); case EPC.HEX: BitSet nibble; byte bnibble; for(int i=0;i<24; i++) { nibble = bits.get((i*4) +1, ((i*4) + 5)); bnibble=0; int x=3; for(int j=0;j<4;j++) { if(nibble.get(j)) { bnibble |= 1<<x; } x--; } buffer.append(Integer.toString(bnibble,16)); } return(buffer.toString()); default: throw new EPCParseException("Unable to interpret flags in a meaningful way:" + flags); } } else if((flags & EPC.SIXTYFOURBIT) != 0) { BitSet bits = build64bit(); byte[] mybits; switch (flags & 3) { case EPC.BINARY: for (int i = 1; i < 65; i++) { if (bits.get(i)) { buffer.append("1"); } else { buffer.append("0"); } } return (buffer.toString()); case EPC.DECIMAL: BitSet bsByte; byte bbyte; for(int i=0;i<8;i++) { bsByte = bits.get((i*8) + 1,(i*8) + 9); bbyte=0; int x=7; for(int j=0;j<8;j++) { if(bsByte.get(j)) { bbyte |= 1<<x; } x--; } buffer.append(Byte.toString(bbyte)); } return(buffer.toString()); case EPC.HEX: BitSet nibble; byte bnibble; for(int i=0;i<16; i++) { nibble = bits.get((i*4) +1, ((i*4) + 5)); bnibble=0; int x=3; for(int j=0;j<4;j++) { if(nibble.get(j)) { bnibble |= 1<<x; } x--; } buffer.append(Integer.toString(bnibble,16)); } /* mybits = ParseUtils.BitsToBytes(bits.get(1,97)); bigint = new BigInteger(mybits); return(bigint.toString(16)); */ return(buffer.toString()); default: throw new EPCParseException( "Unable to interpret flags in a meaningful way:" + flags); } } else throw new EPCParseException("Unable to interpret flags in a meaningful way:" + flags); } /** * @return Returns the sFilter. */ public String getFilter(int flags) { if((flags & EPC.BINARY) != 0) { return (Integer.toBinaryString(Integer.parseInt(sFilter))); } else if((flags & EPC.HEX) != 0) { return (Integer.toHexString(Integer.parseInt(sFilter))); } else if((flags & EPC.DECIMAL) != 0) { return(sFilter); } return(null); } /** * @param filter The sFilter to set. */ public void setFilter(String filter, int flags) { if((flags & EPC.BINARY) != 0) { sFilter = Integer.toString(Integer.parseInt(filter,2)); } else if((flags & EPC.HEX) != 0) { sFilter = Integer.toString(Integer.parseInt(filter,16)); } else if((flags & EPC.DECIMAL) != 0) { sFilter = filter; } } /** * @return Returns the sManagerId. */ public String getManagerId(int flags) { if((flags & EPC.BINARY) != 0) { return (Integer.toBinaryString(Integer.parseInt(sManagerId))); } else if((flags & EPC.HEX) != 0) { return (Integer.toHexString(Integer.parseInt(sManagerId))); } else if((flags & EPC.DECIMAL) != 0) { return(sManagerId); } return(null); } /** * @param managerId The sManagerId to set. */ public void setManagerId(String managerId, int flags) { if((flags & EPC.BINARY) != 0) { sManagerId = Integer.toString(Integer.parseInt(managerId,2)); } else if((flags & EPC.HEX) != 0) { sManagerId = Integer.toString(Integer.parseInt(managerId,16)); } else if((flags & EPC.DECIMAL) != 0) { sManagerId = managerId; } } /** * @return Returns the Index for a 64bit tag, not a ManagerId. * @throws EPCParseException */ public String getIndex(int flags) throws EPCParseException { String result = null; if((flags & EPC.BINARY) != 0) { return (Integer.toBinaryString(Integer.parseInt(sManagerId))); } else if((flags & EPC.HEX) != 0) { return (Integer.toHexString(Integer.parseInt(sManagerId))); } else if((flags & EPC.DECIMAL) != 0) { return(sManagerId); } try { CompanyPrefixIndexDB indexDB = new CompanyPrefixIndexDB(config); result = indexDB.ReverseLookup(sManagerId); } catch(NoSuchIndexException noindex) { throw new EPCParseException("The index value was not found in " + config.getProperty("method")); } catch(Exception e) { throw new EPCParseException(e.getMessage()); } return(result); } /** * @param in_index The index to set for a 64bit tag * @throws EPCParseException */ public void setIndex(String in_index, int flags) throws EPCParseException { String index; if((flags & EPC.BINARY) != 0) { index = Integer.toString(Integer.parseInt(in_index,2)); } else if((flags & EPC.HEX) != 0) { index = Integer.toString(Integer.parseInt(in_index,16)); } else if((flags & EPC.DECIMAL) != 0) { index = in_index; } else throw new EPCParseException("Unable to interpret flags in a meaningful way:" + flags); try { CompanyPrefixIndexDB indexDB = new CompanyPrefixIndexDB(config); sManagerId = indexDB.Lookup(index); } catch(NoSuchIndexException noindex) { throw new EPCParseException("The index value was not found in " + config.getProperty("method")); } catch(Exception e) { throw new EPCParseException(e.getMessage()); } } /** * @return Returns the sSerialReference. */ public String getSerialReference(int flags) { if((flags & EPC.BINARY) != 0) { return (Integer.toBinaryString(Integer.parseInt(sSerialReference))); } else if((flags & EPC.HEX) != 0) { return (Integer.toHexString(Integer.parseInt(sSerialReference))); } else if((flags & EPC.DECIMAL) != 0) { return(sSerialReference); } return(null); } /** * @param serialRef The sserialRef to set. */ public void setSerialReference(String serialRef, int flags) { if((flags & EPC.BINARY) != 0) { sSerialReference = Integer.toString(Integer.parseInt(serialRef,2)); } else if((flags & EPC.HEX) != 0) { sSerialReference = Integer.toString(Integer.parseInt(serialRef,16)); } else if((flags & EPC.DECIMAL) != 0) { sSerialReference = serialRef; } } public String getHeaderString(int flags) throws EPCParseException { // TODO Auto-generated method stub return null; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -