com.bugvm.apple.contacts.CNLabeledValue Maven / Gradle / Ivy
/*
* Copyright (C) 2013-2015 RoboVM AB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.bugvm.apple.contacts;
/**/
import java.io.*;
import java.nio.*;
import java.util.*;
import com.bugvm.objc.*;
import com.bugvm.objc.annotation.*;
import com.bugvm.objc.block.*;
import com.bugvm.rt.*;
import com.bugvm.rt.annotation.*;
import com.bugvm.rt.bro.*;
import com.bugvm.rt.bro.annotation.*;
import com.bugvm.rt.bro.ptr.*;
import com.bugvm.apple.foundation.*;
/* */
/**/
/**
* @since Available in iOS 9.0 and later.
*/
/* */
/**/@Library("Contacts") @NativeClass/* */
/**/public/* */ class /**/CNLabeledValue/* */
extends /**/NSObject/* */
/**//* */ {
/**/public static class CNLabeledValuePtr extends Ptr {}/* */
/**/static { ObjCRuntime.bind(CNLabeledValue.class); }/* */
/**//* */
/**/
public CNLabeledValue() {}
protected CNLabeledValue(SkipInit skipInit) { super(skipInit); }
/* */
public CNLabeledValue(String label, T value) {
super((SkipInit)null);
initObject(init(label, convertValue(value)));
}
public CNLabeledValue(CNLabel label, T value) {
super((SkipInit)null);
initObject(init(label.value().toString(), convertValue(value)));
}
private static NSObject convertValue(Object value) {
if (value == null) {
throw new NullPointerException("value");
}
if (value instanceof NSObject) {
return (NSObject) value;
} else if (value instanceof String) {
return new NSString((String) value);
} else {
throw new IllegalArgumentException("unsupported value type: " + value.getClass());
}
}
public T getValue() {
NSObject value = getValue0();
if (value == null) {
return null;
} else if (value instanceof NSString) {
return (T) value.toString();
}
return (T) value;
}
public CNLabeledValue setValue(T value) {
return setValue(convertValue(value));
}
public CNLabeledValue setLabelAndValue(String label, T value) {
return setLabelAndValue(label, convertValue(value));
}
public CNLabeledValue setLabel(CNLabel label) {
return setLabel(label.value().toString());
}
public CNLabeledValue setLabelAndValue(CNLabel label, T value) {
return setLabelAndValue(label.value().toString(), value);
}
public static String getLocalizedLabel(CNLabel label) {
return getLocalizedLabel(label.value().toString());
}
/**/
@Property(selector = "identifier")
public native String getIdentifier();
@Property(selector = "label")
public native String getLabel();
@Property(selector = "value")
private native NSObject getValue0();
/* */
/**//* */
/**/
@Method(selector = "initWithLabel:value:")
private native @Pointer long init(String label, NSObject value);
@Method(selector = "labeledValueBySettingLabel:")
public native CNLabeledValue setLabel(String label);
@Method(selector = "labeledValueBySettingValue:")
private native CNLabeledValue setValue(NSObject value);
@Method(selector = "labeledValueBySettingLabel:value:")
private native CNLabeledValue setLabelAndValue(String label, NSObject value);
@Method(selector = "localizedStringForLabel:")
public static native String getLocalizedLabel(String label);
/* */
}