private Field(Buffer name, Buffer value, long numValue, int revision) { _name = name.asImmutableBuffer(); _value = value.isImmutable() ? value : new View(value); _next = null; _prev = null; _revision = revision; _numValue = numValue; _stringValue=null; }
public static String to8859_1_String(Buffer buffer) { if (buffer.isImmutable()) return buffer.toString(); try { byte[] bytes=buffer.array(); if (bytes!=null) return new String(bytes,buffer.getIndex(),buffer.length(),StringUtil.__ISO_8859_1); StringBuffer b = new StringBuffer(buffer.length()); for (int i=buffer.getIndex(),c=0;c<buffer.length();i++,c++) b.append((char)(0x7f&buffer.peek(i))); return b.toString(); } catch(UnsupportedEncodingException e) { e.printStackTrace(); return buffer.toString(); } } }
if (!buffer.isVolatile() && !buffer.isImmutable())
/** * @param buffer The <code>Buffer</code> on which we are presenting a <code>View</code>. * @param mark The initial value of the {@link Buffer#markIndex mark index} * @param get The initial value of the {@link Buffer#getIndex get index} * @param put The initial value of the {@link Buffer#putIndex put index} * @param access The access level - one of the constants from {@link Buffer}. */ public View(Buffer buffer, int mark, int get, int put,int access) { super(READWRITE,!buffer.isImmutable()); _buffer=buffer.buffer(); setPutIndex(put); setGetIndex(get); setMarkIndex(mark); _access=access; }
if (_value == null) _value = value.isImmutable() ? value : new View(value); _numValue = numValue; _stringValue=null; else if (value.isImmutable())
public View(Buffer buffer) { super(READWRITE,!buffer.isImmutable()); _buffer=buffer.buffer(); setPutIndex(buffer.putIndex()); setGetIndex(buffer.getIndex()); setMarkIndex(buffer.markIndex()); _access=buffer.isReadOnly()?READONLY:READWRITE; }
if (!header.isImmutable()) header.setGetIndex(bbuf0.position()); if (!buffer.isImmutable()) buffer.setGetIndex(bbuf1.position());