org.gnome.gobject.ParamSpecBoxed Maven / Gradle / Ivy
// Java-GI - Java language bindings for GObject-Introspection-based libraries
// Copyright (C) 2022-2024 Jan-Willem Harmannij
//
// SPDX-License-Identifier: LGPL-2.1-or-later
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see .
//
// This file has been generated with Java-GI.
// Do not edit this file directly!
// Visit for more information.
//
package org.gnome.gobject;
import io.github.jwharm.javagi.gobject.types.Types;
import io.github.jwharm.javagi.interop.Interop;
import java.lang.foreign.MemoryLayout;
import java.lang.foreign.MemorySegment;
import javax.annotation.processing.Generated;
import org.gnome.glib.Type;
/**
* A {@code GParamSpec} derived structure that contains the meta data for boxed properties.
*/
@Generated("io.github.jwharm.JavaGI")
public class ParamSpecBoxed extends ParamSpec {
static {
GObjects.javagi$ensureInitialized();
}
/**
* Create a ParamSpecBoxed proxy instance for the provided memory address.
* @param address the memory address of the native object
*/
public ParamSpecBoxed(MemorySegment address) {
super(address == null ? null : Interop.reinterpret(address, getMemoryLayout().byteSize()));
}
/**
* Get the GType of the GParamSpecBoxed class
*
* @return always {@link Types#PARAM}
*/
public static Type getType() {
return Types.PARAM;
}
/**
* The memory layout of the native struct.
* @return the memory layout
*/
public static MemoryLayout getMemoryLayout() {
return MemoryLayout.structLayout(
ParamSpec.getMemoryLayout().withName("parent_instance")
).withName("GParamSpecBoxed");
}
/**
* Returns this instance as if it were its parent type. This is mostly
* synonymous to the Java {@code super} keyword, but will set the native
* typeclass function pointers to the parent type. When overriding a native
* virtual method in Java, "chaining up" with {@code super.methodName()}
* doesn't work, because it invokes the overridden function pointer again.
* To chain up, call {@code asParent().methodName()}. This will call the
* native function pointer of this virtual method in the typeclass of the
* parent type.
*/
protected ParamSpecBoxed asParent() {
ParamSpecBoxed _parent = new ParamSpecBoxed(handle());
_parent.callParent(true);
return _parent;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy