public static Symbol getSymbol(String symbolVal) { if(symbolVal == null) { return null; } Symbol symbol = _symbols.get(symbolVal); if(symbol == null) { symbolVal = symbolVal.intern(); symbol = new Symbol(symbolVal); Symbol existing; if((existing = _symbols.putIfAbsent(symbolVal, symbol)) != null) { symbol = existing; } } return symbol; }
@Override protected void writeBytes(QpidByteBuffer buf, int offset, int length) { int end = offset + length; for(int i = offset; i < end; i++) { buf.put((byte)_value.charAt(i)); } }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final UnknownTxnCapability that = (UnknownTxnCapability) o; return _value.equals(that._value); }
@Override public String toString() { return _value.toString(); } }
@Override public int hashCode() { return _value.hashCode(); }
private static boolean useSmallConstructor(final Symbol[] value) { for(Symbol sym : value) { if(sym.length()>255) { return false; } } return true; }
public static Symbol valueOf(String symbolVal) { return getSymbol(symbolVal); }
@Override public String toString() { return _value.toString(); } }
@Override public int hashCode() { return _value.hashCode(); }
public SymbolWriter(final Symbol object) { super(object.length()); _value = object; }
public StandardSendingDestination(MessageSource messageSource) { _messageSource = messageSource; List<Symbol> capabilities = new ArrayList<>(); if (_messageSource instanceof Queue) { LifetimePolicy queueLifetimePolicy = ((Queue<?>) _messageSource).getLifetimePolicy(); if (PERMANENT == queueLifetimePolicy) { capabilities.add(Symbol.getSymbol("queue")); } else { capabilities.add(Symbol.getSymbol("temporary-queue")); } } _capabilities = capabilities.toArray(new Symbol[capabilities.size()]); }
return Symbol.valueOf(contentTypeAsString);
public static SessionError valueOf(Object obj) { if (obj instanceof Symbol) { Symbol val = (Symbol) obj; if (WINDOW_VIOLATION._val.equals(val)) { return WINDOW_VIOLATION; } if (ERRANT_LINK._val.equals(val)) { return ERRANT_LINK; } if (HANDLE_IN_USE._val.equals(val)) { return HANDLE_IN_USE; } if (UNATTACHED_HANDLE._val.equals(val)) { return UNATTACHED_HANDLE; } } final String message = String.format("Cannot convert '%s' into 'session-error'", obj); throw new IllegalArgumentException(message); }
@Override public String toString() { return _value.toString(); } }
@Override public int hashCode() { return _value.hashCode(); }
private static boolean canFitInSmall(final Symbol[] value) { if(value.length>=127) { return false; } int remaining = 253 - value.length; for(Symbol symbol : value) { if((remaining -= symbol.length()) < 0) { return false; } } return true; }