@Override public <TYPE extends T> TYPE copy(TYPE object) { ClassMetadata<TYPE, ?> info = getMetadata(object); if (info != null) { return info.copy(object); } return null; }
@Override public T copy(T value) { if (value != null) { return classMetadata.copy(value); } return null; } }
@Override public void set(Float value) { fieldMetadata.setValue(target, value); } };
@Override public boolean shouldReplicate(FieldMetadata<?, ?> field, boolean initial, boolean toOwner) { switch (field.getName()) { case "lightDiffuseIntensity": case "lightAmbientIntensity": return initial || !simulateFading; } return true; } }
@Override public Float get() { return (Float) fieldMetadata.getValueChecked(target); }
@Override @SuppressWarnings("unchecked") public <T extends Event> EventMetadata<T> getMetadata(Class<T> clazz) { return (EventMetadata<T>) super.getMetadata(clazz); }
@Override public ComponentMetadata<? extends Component> resolve(String name) { return (ComponentMetadata<? extends Component>) super.resolve(name); }
/** * @param id The id to assign for this field */ public void setId(byte id) { this.id = id; owner.setFieldId(this, id); }
@Override protected <V> FieldMetadata<T, V> createField(Field field, CopyStrategy<V> copyStrategy, ReflectFactory factory) throws InaccessibleFieldException { return new FieldMetadata<>(this, field, copyStrategy, factory); } }
/** * Obtains the value of the field from a object which is an instance of the owning type. * This method is checked to conform to the generic parameters of the FieldMetadata * * @param from The object to obtain the value of this field from * @return The value of the field */ public U getValueChecked(T from) { return getValue(from); }
/** * For types that need to be copied (e.g. Vector3f) for safe usage, this method will create a new copy of a field from an object. * Otherwise it behaves the same as getValue * This method is checked to conform to the generic parameters of the FieldMetadata * * @param from The object to copy the field from * @return A safe to use copy of the value of this field in the given object */ public U getCopyOfValueChecked(T from) { return getCopyOfValue(from); }
/** * Should not be called during the game, as the {@link org.terasology.persistence.internal.ReadWriteStorageManager} * creates a copy of the data and uses the same instance in multiple threads. */ @Override public void register(SimpleUri uri, Class<? extends Component> clazz) { super.register(uri, clazz); } }
@Override public void set(T value) { fieldMetadata.setValue(target, value); } }
@Override @SuppressWarnings("unchecked") public <T extends Event> EventMetadata<T> getMetadata(T object) { return (EventMetadata<T>) super.getMetadata(object); }
@Override public ComponentMetadata<?> resolve(String name, Module context) { return (ComponentMetadata<?>) super.resolve(name, context); }
@Override @SuppressWarnings("unchecked") public EventMetadata<? extends Event> getMetadata(SimpleUri uri) { return (EventMetadata<? extends Event>) super.getMetadata(uri); }
@Override public ComponentMetadata<?> resolve(String name, Name context) { return (ComponentMetadata<?>) super.resolve(name, context); }
@Override @SuppressWarnings("unchecked") public <T extends Component> ComponentMetadata<T> getMetadata(Class<T> clazz) { return (ComponentMetadata<T>) super.getMetadata(clazz); }
@Override @SuppressWarnings("unchecked") public <T extends Component> ComponentMetadata<T> getMetadata(T object) { return (ComponentMetadata<T>) super.getMetadata(object); }
@Override public ComponentMetadata<? extends Component> getMetadata(SimpleUri uri) { return (ComponentMetadata<? extends Component>) super.getMetadata(uri); }