@Override protected CompositeAttributeHolder createHolderForValue(final AttributeHolder old, final Object value) { final CompositeAttributeHolder attributeHolder = new CompositeAttributeHolder(value); if (old.isSerializable()) { attributeHolder.serializable(); } if (CompositeAttributeHolder.class.isAssignableFrom(old.getClass())) { if (((CompositeAttributeHolder)old).isInheritable()) { attributeHolder.setInheritable(true); } } return attributeHolder; }
if (CompositeAttributeHolder.class.isAssignableFrom(value.getClass())) { final CompositeAttributeHolder original = (CompositeAttributeHolder)value; final CompositeAttributeHolder copy = (CompositeAttributeHolder)original.clone(); getAttributes().put(key, copy); final CompositeAttributeHolder copy = new CompositeAttributeHolder(original.getValue()); if (original.isSerializable()) { copy.serializable(); copy.lock();
/** * Creates a new {@link CompositeAttributeHolder} for a value * @param old the existing {@link AttributeHolder}. Note that the value of the holder is ignored * and it does not have to be "{@link CompositeAttributeHolder composite}". * @param value the value to be held * @return a new {@link CompositeAttributeHolder composite holder} holding the value with its * {@link CompositeAttributeHolder#isSerializable() serializable} attribute set to the * same value as the specified holder. */ protected CompositeAttributeHolder createHolderForValue(final AttributeHolder old, final Object value) { final CompositeAttributeHolder attributeHolder = new CompositeAttributeHolder(value); if (old.isSerializable()) { attributeHolder.serializable(); } return attributeHolder; }
/** * Generate a new map of key -> value containing all inheritable attributes * @return map of inheritable attributes */ public Map<String, Object> getAllInheritable() { final Map<String, Object> allInheritable = new HashMap<String, Object>(); for (final Entry<String, CompositeAttributeHolder> entry : findCompositeAttributes().entrySet()) { final CompositeAttributeHolder attribute = entry.getValue(); if (attribute.isInheritable()) { allInheritable.put(entry.getKey(), attribute.getValue()); } } return allInheritable; }
/** * Creates a new {@link CompositeAttributeHolder} holding the specified value * @param value the value to hold * @return the holder */ protected CompositeAttributeHolder createHolderForValue(final Object value) { return new CompositeAttributeHolder(value); }
public boolean apply(final CompositeAttributeHolder holder) { return holder.isInheritable(); } });
/** * Used to set the inherited attributes on this monitor. * * @param inheritedAttributes the collection of inherited attributes */ @Override protected void setInheritedAttributes(final Map<String, Object> inheritedAttributes) { if (inheritedAttributes != null) { for (final Entry<String, Object> entry : inheritedAttributes.entrySet()) { final String key = entry.getKey(); Object value = entry.getValue(); if (value != null && AttributeHolder.class.isAssignableFrom(value.getClass())) { value = ((AttributeHolder)value).getValue(); } final AttributeHolder holder = setInheritable(key, value).lock(); if (value != null && SERIALIZABLE.contains(value.getClass())) { holder.serializable(); } } } }
new CompositeAttributeHolder(parentSequenceId, true).serializable().lock()); inheritable.put(Attribute.SEQUENCE_ID, new CompositeAttributeHolder(sequenceId, true).serializable().lock());
@Override protected CompositeAttributeHolder createHolderForValue(final Object value) { return new CompositeAttributeHolder(value); } }