@Override public SelectorComponent duplicate() { return new SelectorComponent( this ); }
/** * Creates a selector component from the original to clone it. * * @param original the original for the new selector component */ public SelectorComponent(SelectorComponent original) { super( original ); setSelector( original.getSelector() ); }
@Override public JsonElement serialize(SelectorComponent component, Type type, JsonSerializationContext context) { JsonObject object = new JsonObject(); serialize( object, component, context ); object.addProperty( "selector", component.getSelector() ); return object; } }
@Override public SelectorComponent deserialize(JsonElement element, Type type, JsonDeserializationContext context) throws JsonParseException { JsonObject object = element.getAsJsonObject(); SelectorComponent component = new SelectorComponent( object.get( "selector" ).getAsString() ); deserialize( object, component, context ); return component; }